{"version":3,"sources":["Components/Assets/images/User/Header/menu-item.svg","Components/Assets/images/home/listings/listings1.jpg","Components/Assets/images/home/listings/diverse-workplace-scenes.mp4","Components/Assets/images/signup/forgot-password-send.svg","Components/Assets/images/User/Template/media.svg","Components/Assets/images/User/Template/filters.svg","Components/Assets/images/User/Template/music.svg","Components/Assets/images/User/Template/design.svg","Components/Utility/Loader/Loader.jsx","Components/Assets/images/User/Template/upload-media.svg","Components/Assets/images/User/Template/edit-template-title.svg","Components/Assets/images/User/Header/preview.svg","Components/Assets/images/User/Home/scene.png","Components/Assets/images/templates/editing.png","Components/Assets/images/homeV3/loupe.png","Components/Assets/images/templates/check.png","Components/Assets/images/templates/back-arrow.svg","Components/Pages/Templates/Player/Scene4.js","Components/Pages/Templates/Player/Scene10.js","Components/Pages/Templates/Player/Scene47.js","Components/Assets/images/homeV3/email.png","Components/Assets/images/templates/reveo_TempLogo.png","Components/Assets/images/header/logo.svg","Components/Assets/images/homeV3/FooterLogo.png","Components/Assets/images/pricing/checkedblack.png","Components/Assets/images/User/Home/ungroup.svg","Components/Utility/cropImage.js","Components/Assets/images/home/section1.png","Components/Assets/images/signup/support-book.svg","Components/Assets/images/homeV3/facebook.png","Components/Assets/images/User/Home/scene1.png","Components/Assets/images/icon-coming-soon.png","Components/Assets/images/homeV3/person.png","Components/Assets/images/User/Home/trash.svg","Components/Assets/images/pentagon.png","Components/Assets/images/homeV3/avatar.png","Components/Assets/images/homeV3/phone.png","Components/Pages/Templates/Player/HOC.js","Components/Assets/images/home/home-play-video.svg","Components/Assets/images/home/double-down-arrow.svg","Components/Assets/images/homeV3/SideShape.png","Components/Assets/images/homeV3/Check-Circle.png","Components/Assets/images/homeV3/white_circle.png","Components/Assets/images/toplogo.png","Components/Assets/images/icon1.png","Components/Assets/images/icon2.png","Components/Assets/images/icon3.png","Components/Assets/images/icon4.png","Components/Assets/images/icon5.png","Components/Assets/images/logout.png","Components/Assets/images/templates/img11.png","Components/Assets/images/templates/img12.png","Components/Utility/Utility.js","Components/Assets/images/homeV3/google.png","Components/Assets/images/templates/trash.svg","Components/Assets/images/templates/add.svg","Components/Assets/images/templates/img13.png","Components/Assets/images/home/section2.png","Components/Assets/images/home/section3.png","Components/Assets/images/templates/img14.png","Components/Assets/images/home/ComingSoon.png","Components/Assets/images/social-media/instagram.png","Components/Assets/images/social-media/email(3).png","Components/Assets/images/social-media/youtube.png","Components/Assets/images/homeV3/Icon1.png","Components/Assets/images/homeV3/Icon2.png","Components/Assets/images/homeV3/Icon3.png","Components/Assets/images/homeV3/Video4.png","Components/Assets/images/homeV3/Video5.png","Components/Assets/images/User/Home/pick-template.svg","Components/Assets/images/User/Home/edit-template.svg","Components/Assets/images/User/Home/preview-template.svg","Components/Assets/images/User/Home/edit-template-title.svg","Components/Assets/images/User/Home/scene2.png","Components/Assets/images/User/Home/scene3.png","Components/Assets/images/User/Home/scene4.png","Components/Assets/images/User/Home/add-block.svg","Components/Assets/images/templates/window-of-four-rounded-squares.svg","Components/Assets/images/templates/edit.svg","Components/Assets/images/templates/setting.png","Components/Assets/images/templates/image.png","Components/Assets/images/templates/export.png","Components/Assets/images/templates/Ellipsise.gif","Components/Pages/Templates/Scenes/Scene4/Scene4.js","Components/Pages/Templates/Scenes/Scene10/Scene10.js","Components/Pages/Templates/Scenes/Scene47/Scene47.js","Components/Assets/images/global.png","Components/Assets/images/telephone.png","Components/Assets/images/email(1).png","Components/Assets/images/templates/download.svg","Components/Assets/images/editing.png","Components/Assets/images/homeV3/Triangle1.png","Components/Assets/images/homeV3/SideShape2inverse.png","Components/Assets/images/homeV3/Circle2.png","Components/Assets/images/homeV3/HalfCircle.png","Components/Assets/images/homeV3/Circle1.png","Components/Assets/images/templates/left.png","Components/Assets/images/templates/right.png","Components/Assets/images/home-con.png","Components/Assets/images/homeV3/SideShape3.png","Components/Assets/images/User/Header/default.png","Components/Assets/images/pricing/checkedred.png","Components/Assets/images/templates/update.png","Components/Assets/images/homeV3/lock.png","Components/Assets/images/templates/color-picker.svg","Components/Header/Header.js","Components/Header/index.js","Components/Footer/Footer.js","Components/Footer/index.js","Components/Pages/Pricing/Pricing.js","Components/Pages/Pricing/index.js","Components/Header/HeaderUser.js","Components/Pages/VideoPage/Video.js","Components/Pages/VideoPage/index.js","Components/Pages/HomeV2/TopSection.js","Components/Pages/HomeV2/FeaturedSection.js","Components/Pages/HomeV2/index.js","Components/Pages/SharePage/TopSection.js","Components/Pages/SharePage/FeaturedSection.js","Components/Pages/SharePage/FacebookShare.js","Components/Pages/SharePage/TwitterShare.js","Components/Pages/SharePage/InstagramShare.js","Components/Pages/SharePage/YoutubeShare.js","Components/Pages/SharePage/EmailShare.js","Components/Pages/SharePage/index.js","Components/Pages/ThankyouPage/TopSection.js","Components/Pages/ThankyouPage/InfoSection.js","Components/Pages/ThankyouPage/index.js","Components/Pages/SuccessPage/TopSection.js","Components/Pages/SuccessPage/index.js","Components/Pages/Support/Support.js","Components/Pages/Support/index.js","Components/Pages/Privacy/Privacy.js","Components/Pages/Privacy/index.js","Components/Pages/Signup/Signup.js","Components/Pages/Signup/index.js","Components/Pages/Login/Login.js","Components/Pages/Login/index.js","Components/Pages/ResetPassword/Reset.js","Components/Pages/ResetPassword/index.js","Components/Pages/ResetPassword/TokenVerification.js","Components/Pages/Signup/TokenVerification.js","Components/Pages/ResetPassword/NewPassword.js","Components/Pages/Users/Templates/Template1/Template1.js","Components/Pages/Users/Templates/Template1/Block/Block1.js","Components/Pages/Users/Templates/Template1/Block/Block2.js","Components/Pages/Users/Templates/Template1/Block/Block3.js","Components/Pages/Users/Templates/Template1/Block/Block4.js","Components/Pages/Templates/SidebarLeft/SidebarLeft.js","Components/Pages/Templates/TopSection/TopSection.js","Components/Pages/Templates/TextEditor/TextEditor.js","Components/Pages/Templates/GlobalOptions/GlobalOptions.js","Components/Pages/Templates/ChangeBg/index.js","Components/Pages/Templates/Scenes/Scene1/Scene1.js","Components/Pages/Templates/AddMedia/AddMedia.js","Components/Pages/Templates/AddScenes/ScenesListings.js","Components/Pages/Templates/AddScenes/AddScenes.js","Components/Pages/Templates/Player/Scene1.js","Components/Pages/Templates/Player/Scene2.js","Components/Pages/Templates/Player/Scene3.js","Components/Pages/Templates/Player/Scene5.js","Components/Pages/Templates/Player/Scene6.js","Components/Pages/Templates/Player/Scene7.js","Components/Pages/Templates/Player/Scene8.js","Components/Pages/Templates/Player/Scene9.js","Components/Pages/Templates/Player/Scene11.js","Components/Pages/Templates/Player/Scene12.js","Components/Pages/Templates/Player/Scene13.js","Components/Pages/Templates/Player/Scene14.js","Components/Pages/Templates/Player/Scene15.js","Components/Pages/Templates/Player/Scene16.js","Components/Pages/Templates/Player/Scene17.js","Components/Pages/Templates/Player/Scene18.js","Components/Pages/Templates/Player/Scene19.js","Components/Pages/Templates/Player/Scene20.js","Components/Pages/Templates/Player/Scene21.js","Components/Pages/Templates/Player/Scene22.js","Components/Pages/Templates/Player/Scene37.js","Components/Pages/Templates/Player/Scene38.js","Components/Pages/Templates/Player/Scene39.js","Components/Pages/Templates/Player/Scene40.js","Components/Pages/Templates/Player/Scene41.js","Components/Pages/Templates/Player/Scene23.js","Components/Pages/Templates/Player/Scene25.js","Components/Pages/Templates/Player/Scene24.js","Components/Pages/Templates/Player/Scene26.js","Components/Pages/Templates/Player/Scene27.js","Components/Pages/Templates/Player/Scene28.js","Components/Pages/Templates/Player/Scene29.js","Components/Pages/Templates/Player/Scene30.js","Components/Pages/Templates/Player/Scene31.js","Components/Pages/Templates/Player/Scene32.js","Components/Pages/Templates/Player/Scene48.js","Components/Pages/Templates/Player/Scene49.js","Components/Pages/Templates/Player/Scene50.js","Components/Pages/Templates/Player/Scene33.js","Components/Pages/Templates/Player/Scene36.js","Components/Pages/Templates/Player/Scene34.js","Components/Pages/Templates/Player/Scene35.js","Components/Pages/Templates/Player/Scene42.js","Components/Pages/Templates/Player/Scene43.js","Components/Pages/Templates/Player/Scene44.js","Components/Pages/Templates/Player/Scene45.js","Components/Pages/Templates/Player/Scene46.js","Components/Pages/Templates/BottomSection/Box.js","Components/Pages/Templates/BottomSection/MediaUpload.js","Components/Pages/Templates/Player/SceneLast.js","Components/Pages/Templates/BottomSection/BottomSection.js","Components/Pages/Templates/AddMusic/AddMusic.js","Components/Pages/Templates/Guide/steps.js","Components/Pages/Templates/Player/index.js","Components/Pages/Templates/Scenes/Scene1/index.js","Components/Pages/Templates/Scenes/Scene2/Scene2.js","Components/Pages/Templates/Scenes/Scene2/index.js","Components/Pages/Templates/Scenes/Scene3/Scene3.js","Components/Pages/Templates/Scenes/Scene3/index.js","Components/Pages/Templates/Scenes/Scene4/index.js","Components/Pages/Templates/Scenes/Scene5/Scen5.js","Components/Pages/Templates/Scenes/Scene5/index.js","Components/Pages/Templates/Scenes/Scene6/Scen6.js","Components/Pages/Templates/Scenes/Scene6/index.js","Components/Pages/Templates/Scenes/Scene7/Scen7.js","Components/Pages/Templates/Scenes/Scene7/index.js","Components/Pages/Templates/Scenes/Scene8/Scene8.js","Components/Pages/Templates/Scenes/Scene8/index.js","Components/Pages/Templates/Scenes/Scene9/Scen9.js","Components/Pages/Templates/Scenes/Scene9/index.js","Components/Pages/Templates/Scenes/Scene10/index.js","Components/Pages/Templates/Scenes/Scene11/Scene11.js","Components/Pages/Templates/Scenes/Scene11/index.js","Components/Pages/Templates/Scenes/Scene12/Scen12.js","Components/Pages/Templates/Scenes/Scene12/index.js","Components/Pages/Templates/Scenes/Scene13/Scene13.js","Components/Pages/Templates/Scenes/Scene13/index.js","Components/Pages/Templates/Scenes/Scene14/Scen14.js","Components/Pages/Templates/Scenes/Scene14/index.js","Components/Pages/Templates/Scenes/Scene15/Scene15.js","Components/Pages/Templates/Scenes/Scene15/index.js","Components/Pages/Templates/Scenes/Scene16/Scene16.js","Components/Pages/Templates/Scenes/Scene16/index.js","Components/Pages/Templates/Scenes/Scene17/Scene17.js","Components/Pages/Templates/Scenes/Scene17/index.js","Components/Pages/Templates/Scenes/Scene18/Scene18.js","Components/Pages/Templates/Scenes/Scene18/index.js","Components/Pages/Templates/Scenes/Scene19/Scene19.js","Components/Pages/Templates/Scenes/Scene19/index.js","Components/Pages/Templates/Scenes/Scene20/Scene20.js","Components/Pages/Templates/Scenes/Scene20/index.js","Components/Pages/Templates/Scenes/Scene21/Scene21.js","Components/Pages/Templates/Scenes/Scene21/index.js","Components/Pages/Templates/Scenes/Scene22/Scene22.js","Components/Pages/Templates/Scenes/Scene22/index.js","Components/Pages/Templates/Scenes/Scene23/Scene23.js","Components/Pages/Templates/Scenes/Scene23/index.js","Components/Pages/Templates/Scenes/Scene24/Scene24.js","Components/Pages/Templates/Scenes/Scene24/index.js","Components/Pages/Templates/Scenes/Scene25/Scene25.js","Components/Pages/Templates/Scenes/Scene25/index.js","Components/Pages/Templates/Scenes/Scene26/Scene26.js","Components/Pages/Templates/Scenes/Scene26/index.js","Components/Pages/Templates/Scenes/Scene27/Scene27.js","Components/Pages/Templates/Scenes/Scene27/index.js","Components/Pages/Templates/Scenes/Scene28/Scene28.js","Components/Pages/Templates/Scenes/Scene28/index.js","Components/Pages/Templates/Scenes/Scene29/Scene29.js","Components/Pages/Templates/Scenes/Scene29/index.js","Components/Pages/Templates/Scenes/Scene30/Scene30.js","Components/Pages/Templates/Scenes/Scene30/index.js","Components/Pages/Templates/Scenes/Scene31/Scene31.js","Components/Pages/Templates/Scenes/Scene31/index.js","Components/Pages/Templates/Scenes/Scene32/Scene32.js","Components/Pages/Templates/Scenes/Scene32/index.js","Components/Pages/Templates/Scenes/Scene33/Scene33.js","Components/Pages/Templates/Scenes/Scene33/index.js","Components/Pages/Templates/Scenes/Scene34/Scene34.js","Components/Pages/Templates/Scenes/Scene34/index.js","Components/Pages/Templates/Scenes/Scene35/Scene35.js","Components/Pages/Templates/Scenes/Scene35/index.js","Components/Pages/Templates/Scenes/Scene36/Scene36.js","Components/Pages/Templates/Scenes/Scene36/index.js","Components/Pages/Templates/Scenes/Scene37/Scene37.js","Components/Pages/Templates/Scenes/Scene37/index.js","Components/Pages/Templates/Scenes/Scene38/Scene38.js","Components/Pages/Templates/Scenes/Scene38/index.js","Components/Pages/Templates/Scenes/Scene39/Scene39.js","Components/Pages/Templates/Scenes/Scene39/index.js","Components/Pages/Templates/Scenes/Scene40/Scene40.js","Components/Pages/Templates/Scenes/Scene40/index.js","Components/Pages/Templates/Scenes/Scene41/Scene41.js","Components/Pages/Templates/Scenes/Scene41/index.js","Components/Pages/Templates/Scenes/Scene42/Scene42.js","Components/Pages/Templates/Scenes/Scene42/index.js","Components/Pages/Templates/Scenes/Scene43/Scene43.js","Components/Pages/Templates/Scenes/Scene43/index.js","Components/Pages/Templates/Scenes/Scene44/Scene44.js","Components/Pages/Templates/Scenes/Scene44/index.js","Components/Pages/Templates/Scenes/Scene45/Scene45.js","Components/Pages/Templates/Scenes/Scene45/index.js","Components/Pages/Templates/Scenes/Scene46/Scene46.js","Components/Pages/Templates/Scenes/Scene46/index.js","Components/Pages/Templates/Scenes/Scene47/index.js","Components/Pages/Templates/Scenes/Scene48/Scene48.js","Components/Pages/Templates/Scenes/Scene48/index.js","Components/Pages/Templates/Scenes/Scene49/Scen49.js","Components/Pages/Templates/Scenes/Scene49/index.js","Components/Pages/Templates/Scenes/Scene50/Scene50.js","Components/Pages/Templates/Scenes/Scene50/index.js","Components/Pages/Templates/Scenes/Scene51/Scene51.js","Components/Pages/Templates/Scenes/Scene51/index.js","Components/Pages/Templates/Scenes/Scene52/Scene52.js","Components/Pages/Templates/Scenes/Scene52/index.js","Components/Pages/Templates/Scenes/Scene53/Scene53.js","Components/Pages/Templates/Scenes/Scene53/index.js","Components/Pages/Templates/Scenes/Scene54/Scene54.js","Components/Pages/Templates/Scenes/Scene54/index.js","Components/Pages/Templates/Scenes/Scene55/Scene55.js","Components/Pages/Templates/Scenes/Scene55/index.js","Components/Pages/Templates/Scenes/Scene56/Scene56.js","Components/Pages/Templates/Scenes/Scene56/index.js","Components/Pages/Templates/Scenes/Scene57/Scene57.js","Components/Pages/Templates/Scenes/Scene57/index.js","Components/Pages/Templates/Scenes/Scene58/Scene58.js","Components/Pages/Templates/Scenes/Scene58/index.js","Components/Pages/Templates/Scenes/Scene59/Scene59.js","Components/Pages/Templates/Scenes/Scene59/index.js","Components/Pages/Templates/Scenes/Scene60/Scene60.js","Components/Pages/Templates/Scenes/Scene60/index.js","Components/Pages/Templates/Scenes/Scene61/Scene61.js","Components/Pages/Templates/Scenes/Scene61/index.js","Components/Pages/Templates/Scenes/Scene62/Scene62.js","Components/Pages/Templates/Scenes/Scene62/index.js","Components/Pages/Templates/Scenes/Scene63/Scene63.js","Components/Pages/Templates/Scenes/Scene63/index.js","Components/Pages/Templates/Scenes/Scene64/Scene64.js","Components/Pages/Templates/Scenes/Scene64/index.js","Components/Pages/Templates/Scenes/Scene65/Scene65.js","Components/Pages/Templates/Scenes/Scene65/index.js","Components/Pages/Templates/Scenes/Scene66/Scene66.js","Components/Pages/Templates/Scenes/Scene66/index.js","Components/Pages/Templates/Scenes/Scene67/Scene67.js","Components/Pages/Templates/Scenes/Scene67/index.js","Components/Pages/Templates/Scenes/Scene68/Scene68.js","Components/Pages/Templates/Scenes/Scene68/index.js","Components/Pages/Templates/Scenes/Scene69/Scene69.js","Components/Pages/Templates/Scenes/Scene69/index.js","Components/Pages/Templates/Scenes/Scene70/Scene70.js","Components/Pages/Templates/Scenes/Scene70/index.js","Components/Pages/Templates/Scenes/Scene71/Scene71.js","Components/Pages/Templates/Scenes/Scene71/index.js","Components/Pages/Templates/Scenes/Scene72/Scene72.js","Components/Pages/Templates/Scenes/Scene72/index.js","Components/Pages/Templates/Scenes/Scene73/Scene73.js","Components/Pages/Templates/Scenes/Scene73/index.js","Components/Pages/Templates/Scenes/Scene74/Scene74.js","Components/Pages/Templates/Scenes/Scene74/index.js","Components/Pages/Templates/Scenes/Scene75/Scene75.js","Components/Pages/Templates/Scenes/Scene75/index.js","Components/Pages/Templates/Scenes/Scene76/Scene76.js","Components/Pages/Templates/Scenes/Scene76/index.js","Components/Pages/Templates/Scenes/Scene77/Scene77.js","Components/Pages/Templates/Scenes/Scene77/index.js","Components/Pages/Templates/Scenes/Scene78/Scene78.js","Components/Pages/Templates/Scenes/Scene78/index.js","Components/Pages/Templates/Scenes/SceneLast2/SceneLast2.js","Components/Pages/Templates/Scenes/SceneLast2/index.js","Components/Pages/Templates/Scenes/SceneLast/SceneLast.js","Components/Pages/Templates/Scenes/SceneLast/index.js","Components/Pages/CreateTemplate/index.js","Components/Pages/Profile/Sidebar.js","Components/Pages/Profile/Top.js","Components/Pages/Users/MyTemplates/index.js","Components/Pages/Users/MyVideos/index.js","Components/Pages/ExportVideo/index.js","Components/Pages/Profile/Profile.js","Components/Pages/Profile/index.js","Components/Pages/Profile/ChangePassword.js","Components/Pages/Profile/UpgradePlan.js","Components/Pages/Profile/EditProfile.js","Components/Pages/Profile/Billing.js","Components/Pages/Profile/Transactions.js","Components/Pages/Plans/ProductMonthly/index.js","Components/Pages/Plans/TeamMonthly/index.js","Components/Pages/Plans/TeamAnnual/index.js","Components/Pages/Plans/ProfessionalAnnual/index.js","Components/Pages/Plans/FreePlan/index.js","Components/Pages/Team/index.js","Components/Pages/Signup/Sucess.js","Components/Routes/SiteRoute.js","Components/Routes/index.js","App.js","serviceWorker.js","index.js","Components/Assets/images/home/close.svg","Components/Assets/images/pricing/checkedgreen.png"],"names":["module","exports","useStyles","makeStyles","theme","createStyles","backdrop","zIndex","drawer","color","Loader","props","classes","className","open","PlayerSceneFour","React","useState","index","sceneActive","setSceneActive","activeClass","setActiveClass","timer","data","time","media","textArrays","textArray","mediaArray1","setMediaArray1","mediaArray2","setMediaArray2","setshowbg","option","scene","type","titleColor","textIndex","showBg","useEffect","timeout","activeClassTimer","animation1","animation2","map","clearTimeout","setTimeout","$","addClass","removeClass","parseFloat","window","key","x","y","width","boxWidth","height","boxHeight","isResize","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","e","newArr","text","fontSize","fontFamily","fontWeight","fontLineHeight","fontAlignment","fontColor","fontCapitalize","resizeProps","minWidth","minHeight","enable","global","canResizable0","onClick","layout","layout0","onLayoutChange","onLayoutChange0","dragProps","disabled","scale","single","style","readOnly","value","length","axis","arrows","infiniteLoop","autoPlay","interval","transitionTime","showArrows","showStatus","showIndicators","swipeable","stopOnHover","showThumbs","id","url","apiPath","canResizable1","layout1","onLayoutChange1","PlayerSceneTen","mediaArray","onChange","target","getcontent","PlayerSceneFourtySeven","createImage","Promise","resolve","reject","image","Image","addEventListener","error","setAttribute","src","getRadianAngle","degreeValue","Math","PI","rotateSize","rotation","rotRad","abs","cos","sin","getCroppedImg","imageSrc","pixelCrop","a","flip","horizontal","vertical","canvas","document","createElement","ctx","getContext","bBoxWidth","bBoxHeight","translate","rotate","drawImage","getImageData","putImageData","toBlob","file","URL","createObjectURL","HOC","children","schemaFname","Joi","object","keys","firstname","string","required","strict","schema","lastname","email","tlds","allow","schemaPassword","password","min","schemaCpass","confirmpassword","valid","ref","schemaPhone","phone","number","schemaSubject","subject","schemaHelp","help","schemaMessage","message","process","apiRegister","apiLogin","apiSendEmail","apiSocialLogin","apiResetPassword","apiVerificationToken","apiSetPassword","apiUpdateUser","apiCheckPlan","apiUploadYoutube","apiUploadImage","apiUploadMedia","apiAddTemplate","apiAddBlock","apiPreviewVideo","apigetTemplate","apideleteBlock","apiSupportTicket","apiVerificationEmail","apiVerificationEmailResend","apigetUploads","apigetMusicUploads","apiUpdateBlock","apiUpdateScene","apiGetCategoryScenes","apiGetSceneCategories","apiGetTemplateCategories","apiGetTemplateCategory","apiGetTemplates","apiaddAdminTemplate","apigetAdminTemplate","apiupdateAdminTemplate","apiUpdatLastScene","apiGetLastScene","apideleteTemplate","apideleteMedia","apigetVideos","apigetVideo","apideleteVideos","apieditVideos","apigetTeamMember","apiaddTeamMember","apideleteTeamMember","apiSearchTeamMember","apiInviteteamMember","apiGetUseripn","apiAddipn","SceneFour","match","useRouteMatch","templateId","params","sceneId","setUserToken","cookies","Cookies","userId","setUserId","setImageSrc","editUrl","setEditUrl","imgindex","setImgindex","show","toggle","crop","setCrop","setRotation","zoom","setZoom","zoomToggle","setZoomToggle","croppedAreaPixels","setCroppedAreaPixels","setCroppedImage","setMediaArray","dragoverId","setDragoverId","showSlider","setshowSlider","onCropComplete","useCallback","croppedArea","setProcessing","tokens","localStorage","getItem","get","decoded","jwt_decode","showCroppedImage","croppedImage","console","log","croppedimg","axios","method","responseType","then","response","formData","FormData","append","post","updatedImage","replace","substring","closeScale","dropMedia","catch","config","tools","colors","primaryBg","primaryBgHover","secondaryBg","secondaryBgHover","textHover","textMute","textWarn","secondaryBgOpacity","border","borderLight","tagsBackground","buttonBackground","hoverButtonBackground","filterBtnClick","setzoomToggle","onComplete","newUrl","FilerobotImageEditor","setsctiveFontFamily","setActiveFontFamily","charc","getContent","media2","media3","handleDrop","preventDefault","stopPropagation","handleDrag","removeDrag","handleDropComplete","imgUrl","dataTransfer","getData","rows","onDragEnter","onDragLeave","onDragOver","onDrop","backgroundImage","editing","alt","data-tip","data-for","backgroundColor","effect","check","max","step","aria-labelledby","aspect","onCropChange","onRotationChange","onZoomChange","onClose","SceneTen","textShow","setTextShow","textshows","class","SceneFourtySeven","SiteHeader","userToken","nav","Container","to","logo","hide","Header","SiteFooter","href","aria-hidden","Footer","Pricing","setToggle","icongreen","iconred","iconblack","SideShape3","SideShape4","Circle2","HalfCircle","Triangle1","Circle1","Circle3","Circle4","PricingPage","userName","setUserName","redirectPath","setRedirectPath","processing","loginType","setLoginType","profileImage","setProfileImage","activeFontFamily","firstName","setRedirect","dropdownOpen","setDropdownOpen","Dropdown","isOpen","prevState","DropdownToggle","caret","UserAvatar","DropdownMenu","DropdownItem","UserIcon","remove","removeItem","renderRedirect","display","families","apiKey","Video","videoId","videoUrl","setVideoUrl","setVideoDate","videoTitle","setVideoTitle","userData","setUserData","path","updatedAt","getuserData","userid","user","Helmet","charSet","name","content","property","controls","loop","muted","agencyname","website","agencylogo","maxWidth","marginTop","VideoPage","TopSection","FeaturedSection","setData","inHover","setHover","userPlan","setUserPlan","showOverlay","setShowOverlay","popUpVideo","setpopUpVideo","setUserEmail","popUpVideoTitle","setpopUpVideoTitle","popUpVideoPoster","setpopUpVideoPoster","popUpVideoEditUrl","setpopUpVideoEditUrl","modal3","setModal3","userCreated","setUserCreated","userVideos","setUserVideos","toggle3","modal4","setModal4","toggle4","setpPlanexpiryCheck","buttonLabel","category","setCategory","templatedata","template","getPlan","_id","date2","Date","returndate","moment","createdAt","format","days_diff","diff","video_count","date","today","planDate","setDate","getDate","setHours","figure","vid","find","hoverVideo","play","hideVideo","pause","currentTime","showPopup","videoPoster","videoEditUrl","onMouseEnter","onMouseLeave","templateImage","data-v-0e9efc56","templatePreview","preload","hidden","title","commingsoon","aria-label","close","poster","autoplay","disablepictureinpicture","controlslist","Modal","ModalHeader","ModalBody","update","marginBottom","ModalFooter","HomePageV2","data2","setData2","dataCategory","setDataCategory","categoyId","setCategoyId","categoyallActive","setCategoyallActive","templates","getcategory","videoDate","copied","setCopied","download","viewBox","xmlns","role","d","onCopy","FacebookShare","FacebookShareButton","quote","TwitterShare","setContent","TwitterShareButton","InstagramShare","YoutubeShare","filePath","description","scopeurl","EmailShare","setSubject","successMessage","setSuccessMessage","loader","setLoader","event","emailInput","emails","split","regex","invalidEmails","i","trim","test","push","validateMultipleEmails","sentoEmail","SharePage","activeId","setActiveId","cx","cy","r","fill","marginLeft","insta","youtubeicon","Emailicon","InfoSection","ThankyouPage","SuccessPage","Support","setFname","checkFname","setcheckFname","setEmail","checkEmail","setcheckEmail","checkSubject","setcheckSubject","setHelp","checkHelp","setcheckHelp","setMessage","checkMessage","setcheckMessage","errorMessage","setErrorMessage","evt","currentTarget","placeholder","resultFname","validate","resultEmail","resultSubject","resultHelp","resultMessage","fullname","SupportPage","Privacy","PrivacyPage","Signup","history","useHistory","setPhone","checkPhone","setCheckPhone","setPassword","checkPassword","setcheckPassword","confirmPassword","setConfirmPassword","checkConfirmPassword","setcheckConfirmPassword","country","defaultCountry","resultpassword","resultconfirmpassword","appId","fields","callback","socialLoginId","graphDomain","picture","set","token","userRole","location","reload","render","renderProps","facebook","clientId","onSuccess","credentialResponse","credential","sub","given_name","family_name","responseGoogle","onError","SignupPage","Login","setItem","LoginPage","Reset","forgotPassword","ResetPage","TokenVerification","showResend","setShowResend","searchParams","userEmail","EmailVerification","hideResend","setHideResend","ResetNewPassword","showLogin","setShowLogin","TemplateOne","blockCount","setblockCount","blockToDelete","setblockToDelete","setTemplateId","modal","setModal","templateNumber","blocks","confirmDelete","Button","blockId","delete","editTemplate","addBlockImg","Scene","ungroupIcon","Scene2","trashIcon","Scene3","Scene4","Block1","mediaClick","setMediaClick","designClick","setDesignClick","filtersClick","setFiltersClick","musicClick","setMusicClick","setTitleColor","titleColorShow","setTtitleColorShow","subtitleColor","setsubTitleColor","subtitleColorShow","setsubTtitleColorShow","blockTitle","setBlockTitle","blocksubTitle","setBlocksubTitle","checkBlockTitle","setCheckBlockTitle","blocktitleFontsize","setBlockTitleFontsize","blocksubTitleFontsize","setBlocksubTitleFontsize","imageOne","setImageOne","imageTwo","setImageTwo","imageThree","setImageThree","imageFour","setImageFour","videoOne","setVideoOne","videoTwo","setVideoTwo","videoThree","setVideoThree","videoFour","setVideoFour","buttonCheck","setButtonCheck","containerOne","setContainerOne","containerTwo","setContainerTwo","containerThree","setContainerThree","containerFour","setContainerFour","editVideo","setEditVideo","editImage","setEditImage","imageOneCheck","setImageOneCheck","imageTwoCheck","setImageTwoCheck","imageThreeCheck","setImageThreeCheck","imageFourCheck","setImageFourCheck","globalFont","setGlobalFont","globalTitleSize","setGlobalTitleSize","globalsubTitleSize","setGlobalSubTitleSize","templateIdStored","setTemplateIdStored","errorCheck","setErrorCheck","errorCheckNumber","setErrorCheckNumber","setDisabled","setVideoSuccess","videoError","setVideoError","loaderCheck","setLoaderCheck","toggleModal","preloadWebVideo","blockData","globalfontFamily","globalFontTitle","globalFontSubTitle","block","thumbClick","img","removeImg","img1","img2","img3","img4","container1","container2","container3","container4","handleVideoEncode","result","fileUrl","imageUrl","buffer","datas","Blob","Uint8Array","byteLength","fileOfBlob","File","previewIcon","modalClassName","mediaIcon","designIcon","filtersIcon","musicIcon","checked","htmlFor","files","setformImage","uploadIcon","accept","acceptedFiles","getRootProps","getInputProps","titleIcon","maxSize","loadingFFMPEGText","timeLimit","timeRange","showEncodeBtn","onVideoEncode","setblockTitleFontsize","setblocksubTitleFontsize","onChangeComplete","hex","Block2","squareFeet","setSquareFeet","acers","setAcers","bedroom","setBedroom","bathroom","setBathroom","price","setPrice","squareFeetTitle","acersTitle","bedroomTitle","bathroomTitle","priceTitle","Block4","SidebarLeft","addMusic","setAddMusic","showMedia","setShowMedia","showglobal","setshowglobal","setshowMedia","showAddScene","showMusic","showGlobal","data-tut","exportIcon","place","multiline","offset","addScene","addMedia","windowImage","edit","templateTitle","setTemplateTitle","put","sceneTitle","updateCategory","undoData","undodata","redoData","redodata","TextEditor","textColor","setTitleColorShow","setactiveCapitalize","activeLeftAlign","setactiveLeftAlign","setactiveRightAlign","activeCenterAlign","setactiveCenterAlign","sceneTime","setSceneTime","setsceneMinTime","setFontWeight","textlineHeight","activeFontSize","setactiveFontSize","setAlignment","align","getAlignment","setTexttransform","textSize","mintime","nextFont","family","getFontfamily","getTextSize","setFontsize","getFontWeight","setfontWeight","stroke","strokeWidth","getTextColor","getTime","setTime","row","GlobalOptions","setState","savemedia","titleColors","fontWeights","activeFontFamilys","activeFontSizes","reFetchData","bottomData","ChangeBg","activeTab","setActiveTab","toggle2","tab","uploadingCounter","setUploadingCounter","setUploadingCounterStatus","mediaList","setMediaList","mediaListEmpty","setMediaListEmpty","thumbnailSize","setThumbnailSize","getUploads","conter","showAddMedia","closeAddMedia","setThumbnail","Nav","tabs","NavItem","NavLink","classnames","active","TabContent","TabPane","tabId","processingimg","trash","mediaId","deleteMedia","mimetype","draggable","onDragStart","handleDragStart","handleDragStartVideo","Scene1","transformX","setTransformX","transformY","setTransformY","setWidth","setHeight","container","boxwidth","boxheight","canResizable","newObj","getTextAreaData","settextSize","setColor","lineHeight","setTextLineHeight","setTextTransform","Slider","AddMedia","setMediaId","setMedia","mediaType","setMediaType","closeSection","mediatype","multiple","backarrow","setImage","ScenesListings","scenes","setScenes","templateScenes","setTemplateScenes","sceneOrder","categoryId","parenttemplateId","response2","Templates","index2","sceneThumbnail","AddScene","selectedCategory","setSelectedCategory","showScenes","setShowScenes","closeAddScene","categoryImage","PlayerSceneOne","setSceneIndex","setTimer","undefined","textAligmnet","textTransform","defaultValue","PlayerSceneTwo","setCounter","settings","dots","speed","autoplaySpeed","slidesToShow","infinite","slidesToScroll","responsive","breakpoint","titletextSize","PlayerSceneThree","fade","cssEase","PlayerSceneFive","PlayerSceneSix","contenteditable","PlayerSceneSeven","PlayerSceneEight","PlayerSceneNine","PlayerSceneEleven","PlayerSceneTwelve","PlayerSceneThirteen","PlayerSceneFourteen","PlayerSceneFifteen","PlayerSceneSixteen","PlayerSceneSeventeen","PlayerSceneEighteen","titleFontWeight","titleFontFamily","PlayerSceneNineteen","PlayerSceneTwenty","PlayerSceneTwentyOne","PlayerSceneTwentyTwo","PlayerSceneThirtySeven","PlayerSceneThirtyEight","PlayerSceneThirtyNine","PlayerSceneFourty","PlayerSceneFourtyOne","PlayerSceneTwentyThree","PlayerSceneTwentyFive","PlayerSceneTwentyFour","PlayerSceneTwentySix","PlayerSceneTwentySeven","PlayerSceneTwentyEight","PlayerSceneTwentyNine","PlayerSceneThirty","PlayerSceneThirtyOne","PlayerSceneThirtyTwo","PlayerSceneFourtyEight","PlayerSceneFourtyNine","PlayerSceneFifty","PlayerSceneThirtyThree","PlayerSceneThirtySix","PlayerSceneThirtyFour","PlayerSceneThirtyFive","PlayerSceneFourtyTwo","PlayerSceneFourtyThree","PlayerSceneFourtyFour","PlayerSceneFourtyFive","PlayerSceneFourtySix","Box","boxBg","boxId","boxLink","deleteFalse","sceneData","sceneNumber","ev","MediaUpload","audioPlayId","setAudioPlayId","usermediaList","setUserMediaList","usermediaListEmpty","setUserMediaListEmpty","selectedMedia","setSelectedMedia","setX","setY","audioId","setAudioId","playAudio","audio","pauseAudio","audiox","getElementById","audioToplay","audioTopause","setMusicFile","modal2","toggles","Row","Col","sm","mediaName","originalname","Card","body","CardTitle","musicFile","saveMedia","PlayerSceneLast","settextArray","BottomSection","showStop","setShowStop","lastScenetime","setLastScenetime","lastSceneData","setLastSceneData","lastSceneDatas","setLastSceneDatas","dragId","setDragId","setModal2","playerTime","setPlayerTime","setSceneData","elmnt","widthElement","elem","bar","frame","classList","clearInterval","myVar","playVideo","scrollLeft","lastsceneExclude","intViewportHeight","innerHeight","headerHeight","templateHeader","css","element","pos","offsetLeft","checkScroll","dragBox","box","dropBox","dragBoxOrder","order","dropBoxOrder","newBoxState","offsetWidth","setInterval","add","fillRule","sort","b","musicfile","AddMusic","selector","Player","setBlocks","oldArray","TemplateNew1","isTourOpen","setIsTourOpen","isShowingMore","setIsShowingMore","setParenttemplateId","setBottomData","setSceneOrder","bottomsectionActive","setBottomsectionActive","setTextAligmnet","bgType","setBgType","setSceneThumbnail","bgScene","setBgScene","setTextColor","setTextlineHeight","setTextSize","changeBg","setChangeBg","setAddMedia","setAddScene","setContainer","showEditbutton","setShowEditbutton","setShowGlobal","playActive","setPlayActive","setFontFamily","setUndoData","setRedoData","upatedData","setUpatedData","mediaFile","updateData","mediaactive","templateCategory","norefresh","steps","onRequestClose","maskClassName","rounded","onAfterOpen","disableBodyScroll","accentColor","onBeforeClose","enableBodyScroll","toggleShowMore","productindex","parseInt","newRetails","filter","item","popped","AddScenes","obj","newArrs","getTextTransform","texttransform","alignment","getTextlineHeight","fontfamily","fontweight","size","thumbnails","scenetime","click","SceneTwo","counter","nav1","nav2","state","slider1","useRef","slider2","addSection","updateFieldChanged","updateTile","current","splice","swipe","asNavFor","slider","onDragEnd","swipeToSlide","focusOnSelect","slickGoTo","slidePre","TemplateScene2","setTexAreatextColor","titletextColor","setTitletextColor","setTitletextSize","fontfamilySet","setFontfamilySet","fontweightSet","setFontweightSet","titleactive","setTitleactive","setTitleFontFamily","setTitleFontWeight","setInitials","setSetInitials","SceneThree","TemplateScene3","TemplateScene4","arrayIndex","setArrayIndex","setTextArray","SceneFive","TemplateScene5","SceneSix","TemplateScene6","SceneSeven","TemplateScene7","SceneEight","TemplateScene8","SceneNine","TemplateScene9","TemplateScene10","SceneEleven","TemplateScene11","SceneTweleve","videoEdit","setVideoEdit","editActive","setEditActive","videoActive","setVideoActive","updateVideo","onUpdate","TemplateScene12","SceneThirteen","TemplateScene13","SceneFourteen","TemplateScene14","SceneFifteen","TemplateScene15","SceneSixteen","TemplateScene16","SceneSevenTeen","TemplateScene17","SceneEighteen","TemplateScene18","SceneNineTeen","TemplateScene19","SceneTwenty","TemplateScene20","SceneTwentyOne","TemplateScene21","SceneTwentyTwo","TemplateScene22","SceneTwentyThree","TemplateScene23","SceneTwentyFour","TemplateScene24","SceneTwentyFive","TemplateScene25","SceneTwentySix","TemplateScene26","SceneTwentySeven","TemplateScene27","SceneTwentyEight","TemplateScene28","SceneTwentyNine","TemplateScene29","SceneThirty","TemplateScene30","SceneThirtyone","TemplateScene31","SceneThirtyTwo","TemplateScene32","SceneThirtyThree","TemplateScene33","SceneThirtyFour","TemplateScene34","SceneThirtyFive","TemplateScene35","SceneThirtySix","TemplateScene36","Scene37","TemplateNew37","SceneThirtyEight","TemplateScene38","SceneThirtyNine","TemplateScene39","SceneFourty","TemplateScene40","SceneFourtyOne","TemplateScene41","SceneFourtyTwo","TemplateScene42","SceneFourtyThree","TemplateScene43","SceneFourtyFour","TemplateScene44","SceneFourtyFive","TemplateScene45","SceneFourtySix","TemplateScene46","TemplateScene47","SceneFourtyEight","TemplateScene48","SceneFourtyNine","TemplateScene49","SceneFifty","TemplateScene50","setUsertext1","home","resize","TemplateScene51","SceneFiftyTwo","TemplateScene52","SceneFiftyThree","pentagon","TemplateScene53","SceneFiftyFour","TemplateScene54","SceneFiftyFive","count","maxlimit","TemplateScene55","SceneFiftySix","TemplateScene56","SceneFiftySeven","TemplateScene57","SceneFiftyEight","TemplateScene58","SceneFiftyNine","TemplateScene59","SceneSixty","comingSoon","TemplateScene60","SceneSixtyOne","TemplateScene61","SceneSixtyTwo","TemplateScene62","SceneSixtyThree","web","TemplateScene63","SceneSixtyFour","TemplateScene64","SceneSixtyFive","TemplateScene65","SceneSixtySix","TemplateScene66","SceneSixtySeven","TemplateScene67","SceneSixtyEight","TemplateScene68","TemplateScene69","SceneSeventy","TemplateScene70","SceneSeventyOne","TemplateScene71","SceneSeventyTwo","TemplateScene72","SceneSeventyThree","TemplateScene73","SceneSeventyFour","TemplateScene74","SceneSeventyFive","TemplateScene75","SceneSeventySix","TemplateScene76","SceneSeventySeven","TemplateScene77","SceneSeventyEight","TemplateScene78","SceneLast2","TemplateSceneLast2","SceneLast","TemplateSceneLast","CreateTemplate","lastsceneexculde","adminTemplate","lastSceneOption","Sidebar","toplog","icon1","icon2","icon3","icon4","icon5","logout","Top","MyTemplates","dataTemplate","MyVideos","marginRight","downloagimg","ExportVideo","templateData","setTemplateData","scenetimer","sceneLength","innerHTML","move","uploadData","Profile","setFirstName","setWebsite","setAgencyname","setAgencylogo","toggleImg","setToggleImg","setUserImg","handleSubmit","indexOf","reveo_TempLogo","Editing","ProfilePage","ChangePassword","newpassword","setNewPassword","cpassword","setCPassword","checknewPassword","setChecknewPassword","checkcPassword","setcheckCPassword","resultPass","resultCpass","resultconfirmCpass","newPassword","UpgradePlan","EditProfile","checkFirstname","setCheckFirstname","userImg","paddingTop","shipping","billing_address_1","setBilling_address_1","billing_address_2","setBilling_address_2","billing_state","setbilling_state","billing_city","setbilling_city","billing_zip","setbilling_zip","billing_country","setbilling_country","shipping_address_1","setshipping_address_1","shipping_address_2","setshipping_address_2","shipping_city","setshipping_city","shipping_state","setshipping_state","shipping_zip","setshipping_zip","shipping_country","setShipping_country","Billings","Table","striped","scope","product_name","buyer_first_name","buyer_last_name","buyer_email","amount","ProductMonthly","userFirstName","setUserFirstName","userLastName","setUserLastName","userPhone","setUserPhone","contentParts","createOrder","actions","subscription","create","plan_id","onApprove","transaction_id","orderID","tracking_id","subscriptionID","payment_processor","paymentSource","product_id","selectedplan","orderData","ButtonWrapper","showSpinner","usePayPalScriptReducer","isPending","forceReRender","fundingSource","createSubscription","frameborder","margin","options","components","currency","intent","vault","TeamMonthly","TeamAnnual","ProfessionalAnnual","FreePlan","Team","errorMessage2","setErrorMessage2","showmembers","setShowmembers","searchEmail","setSearchEmail","searchResult","setSearchResult","memberList","setMemberList","successMessageInvite","setSuccessMessageInvite","getMembers","members","emailicon","searchMember","inviteEmail","inviteName","member","memberProfilePic","memberName","memberEmail","memberPhone","adminId","memberId","approve","addMember","SuccessPageSignup","Routes","exact","component","Block3","TemplateScene37","Billing","Transactions","Routers","App","Boolean","hostname","ReactDOM","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.e4a47644.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/menu-item.9a6f53d8.svg\";","module.exports = __webpack_public_path__ + \"static/media/listings1.0552321b.jpg\";","module.exports = __webpack_public_path__ + \"static/media/diverse-workplace-scenes.941fa49b.mp4\";","module.exports = __webpack_public_path__ + \"static/media/forgot-password-send.aa1eb37a.svg\";","module.exports = __webpack_public_path__ + \"static/media/media.832849fd.svg\";","module.exports = __webpack_public_path__ + \"static/media/filters.396428a7.svg\";","module.exports = __webpack_public_path__ + \"static/media/music.12fc0ff1.svg\";","module.exports = __webpack_public_path__ + \"static/media/design.1d41be9d.svg\";","import React from \"react\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport { makeStyles, createStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: \"#fff\",\n },\n })\n);\n\nconst Loader = (props) => {\n const classes = useStyles();\n return (\n \n \n \n );\n};\n\nexport default Loader;\n","module.exports = __webpack_public_path__ + \"static/media/upload-media.c87ef02f.svg\";","module.exports = __webpack_public_path__ + \"static/media/edit-template-title.830e826b.svg\";","module.exports = __webpack_public_path__ + \"static/media/preview.55ae73d8.svg\";","module.exports = __webpack_public_path__ + \"static/media/scene.785fe141.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/back-arrow.cc813f80.svg\";","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport HOC from \"./HOC\";\r\nimport $ from \"jquery\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nconst PlayerSceneFour = (props) => {\r\n //console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n var textArrays = props.data.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: false,\r\n autoPlay: true,\r\n interval: 2000,\r\n transitionTime: 1000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: false,\r\n autoPlay: true,\r\n interval: 3000,\r\n transitionTime: 1000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n props.data.media.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media) => [...media, data])\r\n : setMediaArray2((media) => [...media, data]);\r\n }\r\n textArrays = props.data.textArray;\r\n });\r\n if (props.data) {\r\n props.data.media.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media) => [...media, data])\r\n : setMediaArray2((media) => [...media, data]);\r\n }\r\n });\r\n }\r\n var timeout, activeClassTimer, animation1, animation2;\r\n\r\n clearTimeout(timeout, activeClassTimer, animation1, animation2);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n animation1 = setTimeout(function () {\r\n $(\".player-slider-1\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-1\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 500);\r\n animation2 = setTimeout(function () {\r\n $(\".player-slider-2\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-2\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 3200);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n animation1 = setTimeout(function () {\r\n $(\".player-slider-1\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-1\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 500);\r\n animation2 = setTimeout(function () {\r\n $(\".player-slider-2\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-2\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 3200);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, [textArrays]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n // props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n // props.getContent(newArr);\r\n }\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
\r\n
\r\n
\r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(false, \"\", \"\", false, index, index)\r\n }\r\n layout={global.layout0}\r\n onLayoutChange={(e) => global.onLayoutChange0(e, 0)}\r\n dragProps={{ disabled: true }}\r\n scale={0}\r\n >\r\n {global.layout0.map((single) => {\r\n return (\r\n getcontent(e, index)}\r\n readOnly\r\n value={data.text}\r\n >\r\n );\r\n })}\r\n \r\n ) : null;\r\n })}\r\n
\r\n {mediaArray1.length > 0 ? (\r\n \r\n {mediaArray1.map((data, index) => {\r\n return (\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n data.url,\r\n data.type,\r\n false,\r\n index\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"backgroundImage\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n ) : null}\r\n
\r\n
\r\n\r\n
\r\n {textArrays.map((data, index) => {\r\n return index == 1 ? (\r\n \r\n setshowbg(false, \"\", \"\", false, index, index)\r\n }\r\n layout={global.layout1}\r\n onLayoutChange={(e) => global.onLayoutChange1(e, 1)}\r\n dragProps={{ disabled: true }}\r\n scale={0}\r\n >\r\n {global.layout1.map((single) => {\r\n return (\r\n getcontent(e, index)}\r\n readOnly\r\n >\r\n );\r\n })}\r\n \r\n ) : null;\r\n })}\r\n
\r\n {mediaArray2.length > 0 ? (\r\n \r\n {mediaArray2.map((data, index) => {\r\n return (\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n data.url,\r\n data.type,\r\n false,\r\n index + 2\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"backgroundImage\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n ) : null}\r\n
\r\n
\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default PlayerSceneFour;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport HOC from \"./HOC\";\r\nimport $ from \"jquery\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nconst PlayerSceneTen = (props) => {\r\n //console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n var textArrays = props.data.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: false,\r\n autoPlay: true,\r\n interval: 2000,\r\n transitionTime: 1000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: false,\r\n autoPlay: true,\r\n interval: 3000,\r\n transitionTime: 1000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.data.media.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((media) => [...media, data])\r\n // : setMediaArray2((media) => [...media, data]);\r\n // }\r\n // textArrays = props.data.textArray;\r\n // });\r\n // if (props.data) {\r\n // props.data.media.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((media) => [...media, data])\r\n // : setMediaArray2((media) => [...media, data]);\r\n // }\r\n // });\r\n // }\r\n var timeout, activeClassTimer, animation1, animation2;\r\n\r\n clearTimeout(timeout, activeClassTimer, animation1, animation2);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n animation1 = setTimeout(function () {\r\n $(\".player-slider-1\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-1\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 500);\r\n animation2 = setTimeout(function () {\r\n $(\".player-slider-2\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-2\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 3200);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n animation1 = setTimeout(function () {\r\n $(\".player-slider-1\").addClass(\"animation\");\r\n // setTimeout(function () {\r\n // $(\".player-slider-1\").removeClass(\"animation\");\r\n // }, 2500);\r\n }, 100);\r\n animation2 = setTimeout(function () {\r\n $(\".player-slider-2\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-2\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 3200);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, [textArrays]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n // props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n // props.getContent(newArr);\r\n }\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
\r\n
\r\n
\r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(false, \"\", \"\", false, index, index)\r\n }\r\n layout={global.layout0}\r\n onLayoutChange={(e) => global.onLayoutChange0(e, 0)}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {global.layout0.map((single) => {\r\n return (\r\n getcontent(e, index)}\r\n value={data.text}\r\n >\r\n );\r\n })}\r\n \r\n ) : null;\r\n })}\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"backgroundImage\":\r\n \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n 1\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"backgroundImage\":\r\n \"url(\" + apiPath + mediaArray[1].url + \") \",\r\n }}\r\n >
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[2].url,\r\n mediaArray[2].type,\r\n false,\r\n 2\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"backgroundImage\":\r\n \"url(\" + apiPath + mediaArray[2].url + \") \",\r\n }}\r\n >
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default PlayerSceneTen;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport HOC from \"./HOC\";\r\nimport $ from \"jquery\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nconst PlayerSceneFourtySeven = (props) => {\r\n //console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n var textArrays = props.data.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: false,\r\n autoPlay: true,\r\n interval: 2000,\r\n transitionTime: 1000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: false,\r\n autoPlay: true,\r\n interval: 3000,\r\n transitionTime: 1000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.data.media.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((media) => [...media, data])\r\n // : setMediaArray2((media) => [...media, data]);\r\n // }\r\n // textArrays = props.data.textArray;\r\n // });\r\n // if (props.data) {\r\n // props.data.media.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((media) => [...media, data])\r\n // : setMediaArray2((media) => [...media, data]);\r\n // }\r\n // });\r\n // }\r\n var timeout, activeClassTimer, animation1, animation2;\r\n\r\n clearTimeout(timeout, activeClassTimer, animation1, animation2);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n animation1 = setTimeout(function () {\r\n // $(\".player-slider-1\").addClass(\"animation\");\r\n setTimeout(function () {\r\n // $(\".player-slider-1\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 500);\r\n animation2 = setTimeout(function () {\r\n $(\".player-slider-2\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-2\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 3200);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n animation1 = setTimeout(function () {\r\n $(\".player-slider-1\").addClass(\"animation\");\r\n // setTimeout(function () {\r\n // $(\".player-slider-1\").removeClass(\"animation\");\r\n // }, 2500);\r\n }, 100);\r\n animation2 = setTimeout(function () {\r\n $(\".player-slider-2\").addClass(\"animation\");\r\n setTimeout(function () {\r\n $(\".player-slider-2\").removeClass(\"animation\");\r\n }, 2500);\r\n }, 3200);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, [textArrays]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n // props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n // props.getContent(newArr);\r\n }\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
\r\n
\r\n
\r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(false, \"\", \"\", false, index, index)\r\n }\r\n layout={global.layout0}\r\n onLayoutChange={(e) => global.onLayoutChange0(e, 0)}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {global.layout0.map((single) => {\r\n return (\r\n getcontent(e, index)}\r\n value={data.text}\r\n >\r\n );\r\n })}\r\n \r\n ) : null;\r\n })}\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"backgroundImage\":\r\n \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n 1\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"backgroundImage\":\r\n \"url(\" + apiPath + mediaArray[1].url + \") \",\r\n }}\r\n >
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[2].url,\r\n mediaArray[2].type,\r\n false,\r\n 2\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"backgroundImage\":\r\n \"url(\" + apiPath + mediaArray[2].url + \") \",\r\n }}\r\n >
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default PlayerSceneFourtySeven;\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYEAYAAACw5+G7AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5QcKCDMLOmrx5QAABDxJREFUWMPtl11Mm1UYx//PK9C3E6NgTASjw01gWSQhXrDOeTEc24AGCtvsoICULiNLDOIWpB8sEsaAlixjjAs3DC3QwgaFLMXMIYKbUZTNxBCH0W1ImIaXGIPMDOlbEjhe1LcmkIaPjXUX+1/14pwnv9/znLc5B3iSwIakH0e/Pa04rZDLZT0elUcVERFoMH/xpMtcMtfkZN2bx4aODbndQQZHjaZGc/AgE+ZE8XebjTEiMLk80KD+EiLMRYrBbrc+zDxVdV+rJf2LZqG6WxCQj1bciohgxXQG0SMjeAF/soGSEu74QiX3yvx8wIgVuI7rHMeGaDsbOnUKAFAcF4cY3IJNEIIkcLQiD639/XSEfYzpxEQUwMZ5cnN/9WzmNzdqtU6nWq1WPzqRclbOyhnHieAhK7RaEY8oYOtWzCAUyQMDcCAP2LWLkzbQSXactnd34w38wEY1Gojg2ZmsrE3vjHWOxrS3ewsGBT1y8HGKQk9uLmYQyjQ6Hd1gCdTQ1SWt5xYXsEwbni97prOTNrNREjQadEKN4X373O4NclnI+oksB26JM/xUVtfaungf56+g2WI0GU1OJ6smE/TZ2fQL24KNGRniN/K3ZAMXLhQePn/u/Lng4ECBLysgpTZGP2r6o6uLylgV1Wdn42n8gyMqVdi70/ap19rb1yryoOArFvBN5IpRaVR2d6MDWWwuMxNzCMGHaWlh+unaqecuXlypyMMCX7WAFIvFYCj77fJl9GEvm9q/H3exERalMix8+t5flZcuFX12Nvlssky23uBrFpDCBIqgr8PDsQljELwfNXtPqdxQN3v0vrmjwwscErIE3EAWvJqf76tTS6X0AWNr5Vi1QGmepaX6bl4enWAfIcFmw258QbF2O95HPdeQkYF5PEVjKSmeUH5GdsLpFBPlV/ktNpvUcRZJE0jQahHFxpHucEh1pLrrJiBdOcjN5LhqtUrg/B13tPjVoUOWlwyThkmXi1pYPhWpVCya7mDHnj2woYDdy8mRjkptsb7BlNTSwkOEp1Gn84nwTERPc3NpvaWouv//CT2wgNQZtoMG2UBbG4YRT1aHQwKvoAqqoIUFab35ZeOEcaK3l0tb+BSDSUk0zOJJkZq6+IxL+3wijawQP9rtlM56kNPUtNKJ+BXQ7zZ/XjWcleWv44vBF6em0lRuKh8cNGcaXUZXX5+/dUtEVjmRJQISOJ7F3zRsty/X8YcVvxMZYa/jZ6vVn4jvSsAS6AYrOnAAb+NL2rtzp9QJHiLWE9yfiPffS6cTG/lCWSFA44jCyaYmNkOh7Mq1a7iNWPQCpG8yF1RHT0zgNmJREBkJAKi/eZMU7DtSlJRgCNuwbf3B/WaZ6zR5HwZqNT7BYUptbsb3SEDK4/ugQTuykTQ7SxrWRv1are9J6R0Zz3uMvJk3/zeJxzCyGtEgGgTBe9REMdA8T/IvJsiSK9ErvDkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDctMTBUMDg6NTE6MTErMDA6MDB4Z10BAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTA3LTEwVDA4OjUxOjExKzAwOjAwCTrlvQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logo.ad2d903b.svg\";","module.exports = __webpack_public_path__ + \"static/media/FooterLogo.4a4f67f8.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/ungroup.7e170643.svg\";","export const createImage = (url) =>\n new Promise((resolve, reject) => {\n const image = new Image()\n image.addEventListener('load', () => resolve(image))\n image.addEventListener('error', (error) => reject(error))\n image.setAttribute('crossOrigin', 'anonymous') // needed to avoid cross-origin issues on CodeSandbox\n image.src = url\n })\n\nexport function getRadianAngle(degreeValue) {\n return (degreeValue * Math.PI) / 180\n}\n\n/**\n * Returns the new bounding area of a rotated rectangle.\n */\nexport function rotateSize(width, height, rotation) {\n const rotRad = getRadianAngle(rotation)\n\n return {\n width:\n Math.abs(Math.cos(rotRad) * width) + Math.abs(Math.sin(rotRad) * height),\n height:\n Math.abs(Math.sin(rotRad) * width) + Math.abs(Math.cos(rotRad) * height),\n }\n}\n\n/**\n * This function was adapted from the one in the ReadMe of https://github.com/DominicTobias/react-image-crop\n */\nexport default async function getCroppedImg(\n imageSrc,\n pixelCrop,\n rotation = 0,\n flip = { horizontal: false, vertical: false }\n) {\n const image = await createImage(imageSrc)\n const canvas = document.createElement('canvas')\n const ctx = canvas.getContext('2d')\n\n if (!ctx) {\n return null\n }\n\n const rotRad = getRadianAngle(rotation)\n\n // calculate bounding box of the rotated image\n const { width: bBoxWidth, height: bBoxHeight } = rotateSize(\n image.width,\n image.height,\n rotation\n )\n\n // set canvas size to match the bounding box\n canvas.width = bBoxWidth\n canvas.height = bBoxHeight\n\n // translate canvas context to a central location to allow rotating and flipping around the center\n ctx.translate(bBoxWidth / 2, bBoxHeight / 2)\n ctx.rotate(rotRad)\n ctx.scale(flip.horizontal ? -1 : 1, flip.vertical ? -1 : 1)\n ctx.translate(-image.width / 2, -image.height / 2)\n\n // draw rotated image\n ctx.drawImage(image, 0, 0)\n\n // croppedAreaPixels values are bounding box relative\n // extract the cropped image using these values\n const data = ctx.getImageData(\n pixelCrop.x,\n pixelCrop.y,\n pixelCrop.width,\n pixelCrop.height\n )\n\n // set canvas width to final desired crop size - this will clear existing context\n canvas.width = pixelCrop.width\n canvas.height = pixelCrop.height\n\n // paste generated rotate image at the top left corner\n ctx.putImageData(data, 0, 0)\n\n // As Base64 string\n // return canvas.toDataURL('image/jpeg');\n\n // As a blob\n return new Promise((resolve, reject) => {\n canvas.toBlob((file) => {\n resolve(URL.createObjectURL(file))\n }, 'image/jpeg')\n })\n}\n","module.exports = __webpack_public_path__ + \"static/media/section1.ef332fb1.png\";","module.exports = __webpack_public_path__ + \"static/media/support-book.45b47c2a.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAIrAAACKwFlZdt/AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAPlQTFRF////gICATU2ZRl2LQFWVQGCPQ16UQ1mQSFiPSFyQRFeVSFmWSFeVRliUR1iSSVmSRVeSR1mVRlmTSFiUSFqSR1mTRliSSFqTR1mURliTSFqUSFmSR1iTRlqSSFmTR1iUR1qSRlmUSFqTR1mUR1mSSFmSR1qSRlmTR1mURliTR1mTR1iSRlmUSFmTR1qSR1mTR1iSR1mTSFmUR1iTR1mTRlmTR1qTR1mSR1mTRlmTSFiTR1mTR1mTR1qSR1mTR1mTR1mTR1mTRlmTR1mTR1mTR1mTR1mTR1mTR1mTR1mTR1mTR1qTR1mTR1mTR1mTR1mTR1mTR1mTR1mTOawuxgAAAFJ0Uk5TAAIKCwwQExcgJykuNTc9P0ZIUFFSU1RVVldYWVpbXF1eX2Nwc3V6e35/kJaYoKKqsLGys7S1tre6wMTGycrV2tzg5OXn6O3v8PP09ff4+fv9/oXEwrIAAAF5SURBVFjD7ddXU4NAFAXgizEqxqixRCyR2BUL1qiLJkbFBkTh//8YSXHRyVx2lzs6kxnP+/mShwX2AMTRDIt5kVI8Zhka9KI7UaY4erdv+lHG+Gbn9zP3YyH+D5oTEeJoYESkGGDRAAsYDWDg0QAPImL+Cgjr9l55PN/JREMZCO0CfMuOKvBUgh/ZUAQexoAEBEWgAbtAA17yRMDq68OWElDq64/cqgCtoaQ5deTcu67bUjqJd0l/M8xylG94f/g507NQ40Ax28N0zIEZKrD0D6gDH0E7NgcWgl7e5YDrUUCS25cC1gBNQQpYxoFJKWAFBypSQAUHtqWAVRw4kAJMHKhJAVUcqEsB6zjwKgVc5bB+VfIovzXbOeS96WY3j2oP0yX1jUQGkpfq7KACFxyYG1TgnAPzgwqccaD8W4Dgun+afFiQ6z6jAUw0eUSAJRpdJxwwkNElmH0CIJ59guGZDvi6cPom94NFbPqmj+804Gt8p85/DODz/xPnIBKLrab23gAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/scene1.f936e502.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/person.a4119012.png\";","module.exports = __webpack_public_path__ + \"static/media/trash.c70d0af8.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import React from \"react\";\r\n\r\nconst HOC = (props) => {\r\n return (\r\n props.children\r\n );\r\n};\r\nexport default HOC;\r\n","module.exports = __webpack_public_path__ + \"static/media/home-play-video.d529033d.svg\";","module.exports = __webpack_public_path__ + \"static/media/double-down-arrow.a9d345b8.svg\";","module.exports = __webpack_public_path__ + \"static/media/SideShape.9b463af4.png\";","module.exports = __webpack_public_path__ + \"static/media/Check-Circle.0ed2ec54.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjREN0Q0RjNDMTFDRTExRUNCNzVGOUI1OTRBQjE4MUI0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjREN0Q0RjNEMTFDRTExRUNCNzVGOUI1OTRBQjE4MUI0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEQ3RDRGM0ExMUNFMTFFQ0I3NUY5QjU5NEFCMTgxQjQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEQ3RDRGM0IxMUNFMTFFQ0I3NUY5QjU5NEFCMTgxQjQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6/3VvVAAAMnElEQVR42uzd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\"","module.exports = __webpack_public_path__ + \"static/media/toplogo.445aa62b.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYxRjhFRjMzQjU1MDExRUU4MUVEQ0VCMTJEREU2MDE0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYxRjhFRjM0QjU1MDExRUU4MUVEQ0VCMTJEREU2MDE0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjFGOEVGMzFCNTUwMTFFRTgxRURDRUIxMkRERTYwMTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjFGOEVGMzJCNTUwMTFFRTgxRURDRUIxMkRERTYwMTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz76poToAAABgElEQVR42sSWMUhDMRCG894LioiDYtE6ODs4OrmLq5sKgrNu7oKL4OTWTg6Cbi4OUhArKLg5OkoXQYSiFgRxqPrif3JZhKbvcmp/+Ehp83NNcpdL4pxbMMbsgHHwaTorA1dgHdzzd6tgCwwHvAlzCioGARtOpm1AvhJ4FHrrKaKOGpnKPJbAoNA7RgE/hCa/dXmMNzX/rJ4EzISeTBvwTeh50QakGmxxMrwHoN9vwL7mOOx3MRpzxuWRB4rXgQZ40qzQ8njL/Lksr2wJTARW6HUNTni1RrOliwXn0x9aBkeapJkXzp9T1HGaFtjGTnrm7JWoZSPOw89vgk2wwZe46+Kh869YZdJVwTEYKhDwDrTtL2T6Q0wdxmoKrHHHD10apHNQ0wQcAIdgpuD8FbCnaU+TYFpYUrOagGlEWeSagDHXm+tJx0+EnuTHKPLGPDH8VtKLrS8mYE1goCSp82e6OS4F3ldfh1XuieUCT/0Lfh2Q2mAX9IORLk3AP/UPvgQYAKVXwgX4NrIeAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjcwMzUzMjc4QjU1MDExRUVCRUU4REEzQTIyQjk5OTY0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjcwMzUzMjc5QjU1MDExRUVCRUU4REEzQTIyQjk5OTY0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzAzNTMyNzZCNTUwMTFFRUJFRThEQTNBMjJCOTk5NjQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzAzNTMyNzdCNTUwMTFFRUJFRThEQTNBMjJCOTk5NjQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Ju3AEAAAB+klEQVR42uyXu0vDUBTGkzSt7xcFQUUpjorg0MFFEBd3d1FEcPRvENx0ENwdVfwLfFQUBR0VdXAQVBREFwUHH7GJ35GvcInmpm0iXTzwg+bmnvude3pzTmJ6nrdgGMY4MInOPHABxsAVaANLYAR8GOHmgkOwbkL4CT+aQR44AeIiaIEU+ATTYBkMgx3OcbhGUPAJYNN/12YU4rAJclzcbzI5DWZ4P8Fxi0HJ/RVwDKoDdtoDJgoDtrLwBtMWZJKVKVBFsUImZIevFN7S+A9SWHxcS7lRG/L/tHCHv5mM14X4N/kdKmL/wn9p5l8Iu3wydPaqXtgxCcs67aBVc7q74hQ2lUdxHsxpKldKyXIyqvAjuAYdoCakFnis5+JzElX4HIyCrLK4zqQ0n4FLO4ZDdUxKPhRRTJpFhpghOzYZ6I2kO6pwN5tDtoQMnYK1qMIZRfQdvCkt029JdrZ+8BJVuJBaEVwERxrhPjDLQvMWl/A730RymrkPFP7Rj6MesoaQOelKNQnvvx+Xlao4hfMhcx2NuEt09uEvmSZPZS8YAvUBTp3Kq63la4spFhL5OGgMCGxA8bEM+ZLwSrdJIL7DZfi6YEsi32caHVYV5xfU8Vvpp4z+jr/znKPz/2TmpJXuSarXmcJi3zi++ymv78EqeOaixXSnA7D9JcAAX079ceXy9K4AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjdDRUIxODI1QjU1MDExRUVBMkEwRDRDQURGRkQxNjQ1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdDRUIxODI2QjU1MDExRUVBMkEwRDRDQURGRkQxNjQ1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0NFQjE4MjNCNTUwMTFFRUEyQTBENENBREZGRDE2NDUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6N0NFQjE4MjRCNTUwMTFFRUEyQTBENENBREZGRDE2NDUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz53ORGaAAADXUlEQVR42qyWWUhUYRTH79yZakynvcjAxqLIMAmKjLCeRCKIIOvFipoWgnaSFrAFKrIkMqKSCoo2Ah+K6KV68EGYkFYrbZEkU9NpQjLatBmd2//Yf+Lrdu/MZB74cZdvOd853znn+xyGYWg2MgxcBxnAqpP86w9ugbWgw2oSF58D2dlQBmdy8sWgE+imsSEwE+wBM0C1qc8PGeeABXPwsgUMVhREwCgwEqRp9jIZ3AUNIMBFijhBC7ghCmrx8hY8BQ5l8Fggyr0xFKSDR+A2aFT+yzyzQaooCONlOnhmGjwO1IELoJv/+oGz4D5YCZaCSXRVq2n8QnDcRR9+sFhdEOzn4G6uShQksX04+A72gTaL8eKuLg0WuIBYolmggySQQjzsL21ukBxjbAF4I7u+SXxl42PZbDdX+hV86VnVL5HI+mYTwn+E6S5QpfhwCENQJl0DVoAloBmMoGvsFvPOnA+iIMzGqMwHeeAFKKKPm9kmitZx1RHTPGLhakbjX4mmyhNQCJbTfSeVNj/doplc4+BCA3aZrIrkxSIwHlSY2h6ThEW3+d/AyYeCDWC01kuxsmAqGADqwVWQzKfILJBtMcbBwJDi+D6egingAMNQwnIZaGfbNEaWYdoDJzfZb1YgCREA2aYkKQIVIN0miRLhd6JZSTHIZRFMZbL1SvQ4+yLRdF5JLqkvHpKi4OFe6YlscgE3sgYcBmXgI9vWM5ns8mAV8yimAonznWAj2Et3Rct1pU3ljJaKlkQseE4rJoKbyuQaj8Xq/80Dje6p0fpAXAn2kzjPYUQZzPQHfaHAy5NNku0UeE0Fcpwu4NEp15um3igoZFQEuR+HwFEqOAHOsP7LzaMEXP4XBdvBDh7wkmQXwSWlXQqgD4xhQSyl4iuJKMjl6rdx4qhksNiFGa5lSg6084LwELyKp+ATY7pWuUKW8JT7zAl3g3IWxS7uQQdvc5YWRJR7j5ffEZbt0yCLGVzFPvOYgIPAVp7fbl7WGpXxPdW0DWSxAvpAEGzm91xQD9IsqmUeaAKZ/D4IWkEOv/OlXe40dYzpe/S7WHWEFvl4kyjmCnWlZLwEd7jScrruGOe5RisniIJS3qBDNDnEw8PFSmnw4HEqrpVwPcfoyedFoJMhG6HLxJX+nwIMADbpuvLrdOY8AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAXCAYAAAAYyi9XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFDQTY2MThCQjU1MDExRUU4QzE2QzNEN0M0MEI5Njc4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFDQTY2MThDQjU1MDExRUU4QzE2QzNEN0M0MEI5Njc4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUNBNjYxODlCNTUwMTFFRThDMTZDM0Q3QzQwQjk2NzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUNBNjYxOEFCNTUwMTFFRThDMTZDM0Q3QzQwQjk2NzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz65/0/2AAAB1UlEQVR42rzWSyhEURzH8TsPJGY8Fh4pGzt5pWzIQlmIlR1SZCdJyIbyLBtZeKRkLQsrOytZKLIRSbKalPLO+22u73/635rNDHe649Sn5nHv/d1zzv+ec12maeYZhjGNCphG5JaMPTSjA1fYwAoK8BHlXA82MegicJUPuRjBAxIinOTGHY6QhU89vhA+BCOc96XHD4duksAAqmHEWT1e3ToUz0b8m+SEAo0owxhpPmJpHmte7LRyyJxPIT+WVDuBqRhFDoqxji6kxCvQp9Umj1AdFtCNWWTGIzCoj0KGfp9HH5pQ8teLeG0EuvT4by2yNvRiTRcExwNfcI0WNOoDP4PFX1aZmIdUVpVJ7eEpajBnJ8xuD6Vta8HE3NzGPzcr8P2fljbTq8NaqnOTGFaRpsNhRdJB2Z4u+PCEew0P6gFJGuxEk+c3W1YlCXjUvepIh/heVxW5Cb9DgTJ6VRj36gZ5gEP9cwANWMaSg8OaJiPm1V5ZC3Al+nVHkF7vYh/tum7amVfZjs70deRSX1FcVtFYVSoHBFCLY5zr7zt6AdNGqFz3VhcMaW+h3yiaE/SEvQrkohXpDr9iDOFGqrST5DFs6d28aiH57e51UQpGKrQMEz8CDABt2hZUk0myYQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAZCAYAAABU+vysAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlCQUJCN0RBQjU1MDExRUVBMUM5QjI3MjM4MkUxMkNGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlCQUJCN0RCQjU1MDExRUVBMUM5QjI3MjM4MkUxMkNGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUJBQkI3RDhCNTUwMTFFRUExQzlCMjcyMzgyRTEyQ0YiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUJBQkI3RDlCNTUwMTFFRUExQzlCMjcyMzgyRTEyQ0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6kc2iLAAADQElEQVR42qTXeYhOURjH8bnewWAYQ2MdjGisWUa2hFK2f+xRIlkapWwlpJAkS7JkSUmRbJGYsRVRdlOWElnG2AYh64ydxvfJb3S7zn15r1Mf5r333DPnPPc5z3nHKysrS4rYemEiWujzLWzGuSiDVYg4iXk4CA8bsBExHMGcSCNaRBI0EiXo47jXH6UYmui4YTcqow2yAtcr4Qpmxxl0Pi4h2XfN08QnYCCq/MtEJuImCuUYmuteCzxEszgTaYqXyNTnRjiDZ1pEMa4jx/9cMEcmYw3WYwBG4xVOoo76WF6Uxnnb5fcqKW/24C06IAetcQb7kOHKkXStdqxjlaewTCG9h75xItIPj1BROfMYaY5+1zDVFZE2+KrMD7YdGIhPOI6FqOjol4Il2I9vWn0x3jn6XkB71/b9pMFTHA+l4aN+nq/Peejk69MZhzTGYl17ovC7Jm0LL3K9GgvlVawKhLC2wjvVd60uduEBbii572M7Mnz97JXcxjrtnPLrM5XQTcqveYHK2hWHlUwW3nqYhqsYhu+BVXVETyVlQUhVtUjtVcQvqxI3wiRF8NcOcJT4LMxAD71bG2SLbxLJGIJxyLSg6npMOWYL2IpngdwZjGw8RD7e+H+pF3LW2IwbauD7voe6YBPqa/ud0MCWmHW1+uFogKUq/9WV6L3Vx8rBeRzD87CJ5CpkFpUSJZmnV2VZvkgRWuAfJNCs/xis1Ouy+lMVZ/ES6eim68t1Tv1O1lQcQJGSsiFSVDc64WjZrzYjgfOjNT6o3McC92I6syxhV/hL/E5lf6ZjQHvoIlZHOCC74w16h9zP0QE6wj4Mwis0Dumcq0qZGmEiZj3OBrav3yzb/vZDHtbGGei0TtSkiLJ14LULuV/fjharrK1UJV2ttvZ9flL0dkdJ2jXkvm3z1zaRmnga0qmJTtMXSf/X7mknhrUfySpQ78M64Iv+/59mi0nV2eY5tntlm8RnzEVh4BC0AtMM1RwPJ9rsu8lItFUF9v8Om0OG/TMd49HSEQ3LkRq+Mh61ecqV3YHFli+wwPvLnxO1dJDdVamPJfrdXNV5FMb6D7k/ZvoPf9fYd44pik6iuVJBz9iXrW3xnv8pwAALsleLBDr1TQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAYAAABNChwpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRGRDI4MDU5QjU1NTExRUVCNkZEOTUxN0Y5N0NFN0UyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRGRDI4MDVBQjU1NTExRUVCNkZEOTUxN0Y5N0NFN0UyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEZEMjgwNTdCNTU1MTFFRUI2RkQ5NTE3Rjk3Q0U3RTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEZEMjgwNThCNTU1MTFFRUI2RkQ5NTE3Rjk3Q0U3RTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5yiNFkAAADEUlEQVR42rTXbWjNYRjH8XPs7Hmz1R5sMmNJ8zRhQmovmKLsDSVejBQZXkhSeOutpJY8lJFSxKRsGaIk3ozV1FjDtmwLsdrY84Pje/E765jzuJ1z16fOtv//f1/n3n1d9/V3ut1uRwgjFvlYiVVYjCwMowX1eK3PPx1hDGeQAJwoww6sRTZSfVw3hG4FUIM7+DTdADbgINYjF214gffowQBcCmguVmMFZqABN3EFPwJGYAFMMhMVeOP+O+pxGlsw28f1nnvW4DCq0YchnMciP/f8MfkXGTiFfvToAcWBHuBDGvajQV/gbqAgvH9IxjGMolOr4JiGItQpiFpkBQrA9sIudOELyqc5ucdSPFAQtppJ/gLIxmNdaP/vhAgFEIONeKd9Ua6V/i+AExhTtFkRmtwjHnvRgaPaIxN/tzSaozzvwy18c0R2WLGqRifalb7/pOFuDOMe8iL87YOyFdiEODxDhyN6I1HFqh9vMehQ1Vqm5f/oiO7IQxWuYRvS7YyxFcjBZ5XXQGeCS4fSrzAnHte9Nk8m0nABF1Fr+W9L0oRDeOXnIQewD0naVFMZyShQMA6t+pD9EIOxIN8swSv6wTAn9px28V6fbaQYlx6Yqo3ob9ToqI1TsFMZC3BWn+0Z9/HSUqEZ3TrtoplyOWhFC86g0JOGTdqV87XZ3FHKghFUqtDdnthLRHEEI6iKQhkOyurAU6VhqQpFNEaMssA5+Q8WQDMeqVBs9XVRBMY61KFCmfRfS2bNQxt6sTPCy5yPJzrqrclJ8dcRWTc0oKwoidDkubisya07WoAZ/gLIxDmvRrREDcVUJy9ApdfzikNpSufhKsa1Ent0RLvCmDgdy3FdkzeiLNSu2MxS5IN6wA2UqmNORKxWxsOlFs5a8yU4jnbd+zzYv9PXi4lTO9Uy4qRew0Z1UNXoNazb68XEjtVC9RX2MpOh6y+p8LTqRAz7zShJqbkZ25VKNmGvqti4go3TWWJH9Qc8VJ23t6PvwSqrM4SX0xQdowtRpAYmTx2O3fxV5bxRNcX6vq5QC8RvAQYAXNP8CmoxFZ0AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/img11.6955d149.png\";","module.exports = __webpack_public_path__ + \"static/media/img12.9894830e.png\";","\r\nimport Joi from \"@hapi/joi\";\r\nexport const schemaFname = Joi.object().keys({\r\n firstname: Joi.string().required().strict(),\r\n});\r\nexport const schemaLname = Joi.object().keys({\r\n lastname: Joi.string().required().strict(),\r\n});\r\nexport const schema = Joi.object().keys({\r\n email: Joi.string().email({ tlds: { allow: true } })\r\n});\r\nexport const schemaPassword = Joi.object().keys({\r\n password: Joi.string().min(8).required().strict(),\r\n});\r\nexport const schemaCpass = Joi.object().keys({\r\n password: Joi.string().min(8).required().strict(),\r\n confirmpassword: Joi.string().valid(Joi.ref('password')).required().strict(),\r\n});\r\nexport const schemaPhone = Joi.object().keys({\r\n phone: Joi.number().min(10).required(),\r\n});\r\nexport const schemaSubject = Joi.object().keys({\r\n subject: Joi.string().required().strict(),\r\n});\r\nexport const schemaHelp = Joi.object().keys({\r\n help: Joi.string().required().strict(),\r\n});\r\nexport const schemaMessage = Joi.object().keys({\r\n message: Joi.string().required().strict(),\r\n});\r\n//const url = \"http://localhost:2000/\"\r\nconst url = process.env.REACT_APP_API_URL;\r\nexport const apiPath = url;\r\nexport const apiRegister = `${url}api/auth/register`;\r\nexport const apiLogin = `${url}api/auth/login`;\r\nexport const apiSendEmail= `${url}api/auth/email-share`;\r\nexport const apiSocialLogin = `${url}api/auth/social-login`;\r\nexport const apiResetPassword = `${url}api/auth/recover`;\r\nexport const apiVerificationToken = `${url}api/auth/reset/`;\r\nexport const apiSetPassword = `${url}api/auth/reset/`;\r\nexport const apiUpdateUser = `${url}api/user/`\r\nexport const apiCheckPlan = `${url}api/auth/check-plan`;\r\nexport const apiUploadYoutube = `${url}youtube-upload`;\r\n\r\nexport const apiUploadImage = `${url}api/template/add-image/upload`;\r\nexport const apiUploadMedia = `${url}api/template/add-media/upload`;\r\nexport const apiAddTemplate = `${url}api/template/add-template`;\r\nexport const apiAddBlock = `${url}api/template/add-block`;\r\nexport const apiPreviewVideo = `${url}api/template/create-videos`;\r\nexport const apigetTemplate = `${url}api/template/get-template`\r\nexport const apideleteBlock = `${url}api/template/delete-block`\r\nexport const apiSupportTicket = `${url}api/common/support`\r\nexport const apiGetSignals = `${url}api/signals/all-signals`\r\nexport const apiVerificationEmail = `${url}api/auth/verify/`\r\nexport const apiVerificationEmailResend = `${url}api/auth/resend/`\r\nexport const apigetUploads = `${url}api/template/get-uploads/`\r\nexport const apigetMusicUploads = `${url}api/template/get-music/`\r\nexport const apiUpdateBlock = `${url}api/template/update-scene`\r\nexport const apiMergeVideo = `${url}api/template/merge-videos`;\r\nexport const apiAddScene = `${url}api/scene/add-scene`\r\nexport const apiAllScene = `${url}api/scene/all-scenes`\r\nexport const apiUpdateScene = `${url}api/scene/`\r\n\r\nexport const apiGetScene = `${url}api/scene/get-scene/`\r\nexport const apiGetCategoryScenes = `${url}api/scene/category-scenes`\r\n\r\nexport const apiGetSceneCategories = `${url}api/category/all/`\r\nexport const apiGetSceneCategory = `${url}api/category/get-category/`\r\nexport const apiAddSceneCategory = `${url}api/category/add-category/`\r\nexport const apiUpdateSceneCategory = `${url}api/category/`\r\n\r\nexport const apiGetTemplateCategories = `${url}api/template-category/all/`\r\nexport const apiGetTemplateCategory = `${url}api/template-category/get-category/`\r\nexport const apiAddTemplateCategory = `${url}api/template-category/add-category/`\r\nexport const apiUpdateTemplateCategory = `${url}api/template-category/`\r\n\r\nexport const apiGetTemplates = `${url}api/template/all-templates`\r\nexport const apiaddAdminTemplate = `${url}api/template/create-template`\r\nexport const apigetAdminTemplate = `${url}api/template/get-admin-template`\r\nexport const apiupdateAdminTemplate = `${url}api/template/update-template/`\r\n\r\nexport const apiAddLastScene = `${url}api/last-block/add-scene`\r\nexport const apiUpdatLastScene = `${url}api/last-block/`\r\nexport const apiGetLastScene = `${url}api/last-block/get-scene/`\r\nexport const apideleteTemplate = `${url}api/template/delete-template/`\r\nexport const apideleteMedia = `${url}api/template/delete-media/`\r\n\r\nexport const apigetVideos = `${url}api/template/get-user-videos/`\r\nexport const apigetVideo = `${url}api/template/get-user-video/`\r\nexport const apideleteVideos = `${url}api/template/delete-user-videos/`\r\nexport const apieditVideos = `${url}api/template/edit-video/`\r\n\r\nexport const apigetTeamMember = `${url}api/team/get-members/`\r\nexport const apiaddTeamMember = `${url}api/team/add-member/`\r\nexport const apideleteTeamMember = `${url}api/team/delete-member/`\r\nexport const apiSearchTeamMember = `${url}api/team/search-members/`\r\nexport const apiInviteteamMember = `${url}api/team/invite-member`\r\n\r\nexport const apiGetUseripn = `${url}api/ipn/get-ipns`\r\nexport const apiAddipn = `${url}api/ipn/add-ipns`\r\n","module.exports = __webpack_public_path__ + \"static/media/google.ca2f7db2.png\";","module.exports = __webpack_public_path__ + \"static/media/trash.c8f230b6.svg\";","module.exports = __webpack_public_path__ + \"static/media/add.e9b3255a.svg\";","module.exports = __webpack_public_path__ + \"static/media/img13.dbdbcf56.png\";","module.exports = __webpack_public_path__ + \"static/media/section2.480278ae.png\";","module.exports = __webpack_public_path__ + \"static/media/section3.646711f1.png\";","module.exports = __webpack_public_path__ + \"static/media/img14.6ef7f82d.png\";","module.exports = __webpack_public_path__ + \"static/media/ComingSoon.4acd6d59.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/Icon1.1dafb60e.png\";","module.exports = __webpack_public_path__ + \"static/media/Icon2.feb2bcac.png\";","module.exports = __webpack_public_path__ + \"static/media/Icon3.71e8f32c.png\";","module.exports = __webpack_public_path__ + \"static/media/Video4.8a17a5a0.png\";","module.exports = __webpack_public_path__ + \"static/media/Video5.4a8b5686.png\";","module.exports = __webpack_public_path__ + \"static/media/pick-template.fd951a75.svg\";","module.exports = __webpack_public_path__ + \"static/media/edit-template.8acedf25.svg\";","module.exports = __webpack_public_path__ + \"static/media/preview-template.c60c59a0.svg\";","module.exports = __webpack_public_path__ + \"static/media/edit-template-title.830e826b.svg\";","module.exports = __webpack_public_path__ + \"static/media/scene2.1675de10.png\";","module.exports = __webpack_public_path__ + \"static/media/scene3.c0d022d1.png\";","module.exports = __webpack_public_path__ + \"static/media/scene4.a8ba86ec.png\";","module.exports = __webpack_public_path__ + \"static/media/add-block.b92c1fb0.svg\";","module.exports = __webpack_public_path__ + \"static/media/window-of-four-rounded-squares.0dcbb834.svg\";","module.exports = __webpack_public_path__ + \"static/media/edit.fe65a9a8.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5QgYCBMr7MD9SgAAA2NJREFUaN7tmV1IVFsUx/9rNzaUFT6kfU30SXoJSqeZnJnGCtSHzMDyFnSHmCHsQh8aUkRR9yVuWiFFGfaggSaF4ITTg9PX1QwnbRjHeegh0IqbadEESoF9TMxZvfSFEiM5xz2S/5cDh7PWWb//Xuyz9z6EGNffuzp8Hb64uI8LxcnQc48HXTiK2atXjzYv23Aejb29QjZgJIVTppz6lDd9OmZhC5pTU6OVl66gCBt1OpINOFLtSOrwPViani42kFAWrVwZMcBND2nqsmUIUjc/27cPDs5HhVY7zAjZYFE36kmH70Gp1SogXHzhxg0cRz7XT5uGDDzC1VAIrfgDf02e/M0Ae3vA2lZaXs5G6KgxJ2esCyYfenmj211jTvNYjhQWRh3cjZm49+4dgthGFyor4UAF1+/f/zVOg628Ar49eygTBXxajP2cYIMb6TYbAA9+wYBI4NTDLt6waRMnCQ0VJCcjh4Hu7/EaZKIAB38AnwcH/XP7Nk7Q/8gMBFQDL+FsTlEUZYlyWJx2uwEcUwO8esqqojWpzc32xIC1/XVy8tA8mmGZK2kG6lyumpK0t+bEixdVMwC4BgA4+uWqEnikfDH/GVQLfNwYEDXwIJ/EIeahtzWIUUV7xJVZipZaAwFRIh5xfCiEBJiowe+PuQ5Qq9Vrgwaj6bHXq3mjbaCGOXO0t5T+ONe6dTHTAWqBD9WlA8ud5r7+fgBOGGNgDhgr8J9JmgGywaUZoBa444T/8v21GRn2PztvtVsGBr4u8WPGALVHnP+jFjJkZSEeiVyWkIA6tsGweXOkONUnwW/b2CrRq7TevIkXyEd9fDzm4hn+HRxEkNKoMTe3mvRFFmpp+dX3cBZ2opiIugA8B1ABE9ZTxN2u6h0gXolCfr99O15gAY79AF5CedSYm1tDaWQeBfhopXoHKE+V8nDKmTN0fFK3GGBmY3ix6Kqrqy01kIm8XlngY2ZA7RKD0drU0wMAaCoulg08VNLXAbI1YYDsAmRrwgDZBcjWhAGyC5Ct396AYQshPsvz2Wm12u/4/W3Z4bDsAkcsD/aSSa9HEiq4fuRhZL/bWdVWpiiohh6WyJuHcaMEeDHY11dzTr/bkq3T/ewxwQtwHWanEw50om34qem4UxOqUKYoeIkPdP9axH8OnwGySyRx9i+E4AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMS0wOC0yNFQwODoxOTo0MyswMDowMMAi8PcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjEtMDgtMjRUMDg6MTk6NDMrMDA6MDCxf0hLAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/Ellipsise.2c893a3b.gif\";","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFour = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 100;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 3) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
\r\n {showSlider ? (\r\n
\r\n
\r\n
\r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n setsctiveFontFamily(index)}\r\n layout={global.layout0}\r\n onLayoutChange={(e) => global.onLayoutChange0(e, 0)}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {global.layout0.map((single) => {\r\n return (\r\n getcontent(e, index)}\r\n value={data.text}\r\n >\r\n );\r\n })}\r\n \r\n ) : null;\r\n })}\r\n
\r\n {mediaArray1.length > 0 ? (\r\n \r\n {mediaArray1.map((data, index) => {\r\n return (\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n data.url,\r\n data.type,\r\n false,\r\n index\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
\r\n
\r\n setzoomToggle()}\r\n >\r\n Scale\r\n
\r\n
\r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n showCroppedImage(data.url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
\r\n closeScale(50)}\r\n >\r\n Close\r\n
\r\n
\r\n\r\n {imgindex == index && zoomToggle ? (\r\n
\r\n setZoom(zoom)}\r\n />\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n ) : null}\r\n
\r\n \r\n\r\n
\r\n {textArrays.map((data, index) => {\r\n return index == 1 ? (\r\n setsctiveFontFamily(index)}\r\n layout={global.layout1}\r\n onLayoutChange={(e) => global.onLayoutChange1(e, 1)}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {global.layout1.map((single) => {\r\n return (\r\n getcontent(e, index)}\r\n >\r\n );\r\n })}\r\n \r\n ) : null;\r\n })}\r\n
\r\n {mediaArray2.length > 0 ? (\r\n \r\n {mediaArray2.map((data, index) => {\r\n return (\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n data.url,\r\n data.type,\r\n false,\r\n index + 2\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index + 2)}\r\n className={\r\n dragoverId == index + 2\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index + 2 ? (\r\n
\r\n
\r\n setzoomToggle()}\r\n >\r\n Scale\r\n
\r\n
\r\n \r\n filterBtnClick(data.url, index + 2)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edits\"\r\n />\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n showCroppedImage(data.url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"dones\"\r\n />\r\n \r\n Done\r\n \r\n
\r\n closeScale(50)}\r\n >\r\n Close\r\n
\r\n
\r\n\r\n {imgindex == index + 2 && zoomToggle ? (\r\n
\r\n setZoom(zoom)}\r\n />\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SceneFour;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTen = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex, textshows) {\r\n\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 108;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 3) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n // newArr.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((media2) => [...media2, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media3) => [...media3, data])\r\n // : null;\r\n // }\r\n // if (index == 3) {\r\n // setshowSlider(true);\r\n // }\r\n // });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n setshowbg(false, \"\", \"\", false, 15, index, true)}\r\n layout={global.layout0}\r\n onLayoutChange={(e) => global.onLayoutChange0(e, 0)}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {global.layout0.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false)}\r\n onChange={(e) => getcontent(e, index)}\r\n value={data.text}\r\n >\r\n );\r\n })}\r\n \r\n ) : null;\r\n })}\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >\r\n {imgindex == 0 ? (\r\n
\r\n
\r\n setzoomToggle()}\r\n >\r\n Scale\r\n
\r\n
\r\n \r\n filterBtnClick(mediaArray[0].url, 0)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n showCroppedImage(mediaArray[0].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
\r\n closeScale(50)}\r\n >\r\n Close\r\n
\r\n
\r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
\r\n setZoom(zoom)}\r\n />\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n 1\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n className={\r\n dragoverId == 2 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[1].url + \") \",\r\n }}\r\n >\r\n {imgindex == 1 ? (\r\n
\r\n
\r\n setzoomToggle()}\r\n >\r\n Scale\r\n
\r\n
\r\n \r\n filterBtnClick(mediaArray[1].url, 1)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n showCroppedImage(mediaArray[1].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
\r\n closeScale(50)}\r\n >\r\n Close\r\n
\r\n
\r\n\r\n {imgindex == 1 && zoomToggle ? (\r\n
\r\n setZoom(zoom)}\r\n />\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[2].url,\r\n mediaArray[2].type,\r\n false,\r\n 2\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 3)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 2)}\r\n className={\r\n dragoverId == 3 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[2].url + \") \",\r\n }}\r\n >\r\n {imgindex == 2 ? (\r\n
\r\n
\r\n setzoomToggle()}\r\n >\r\n Scale\r\n
\r\n
\r\n \r\n filterBtnClick(mediaArray[2].url, 2)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n showCroppedImage(mediaArray[2].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
\r\n closeScale(50)}\r\n >\r\n Close\r\n
\r\n
\r\n\r\n {imgindex == 2 && zoomToggle ? (\r\n
\r\n setZoom(zoom)}\r\n />\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {textShow && textArrays[0].text.length >= 88 ?
= 108 ? \"char-counter red\" : \"char-counter \"}> {108 - textArrays[0].text.length}
: null}\r\n
\r\n );\r\n};\r\n\r\nexport default SceneTen;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtySeven = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, index, textIndex,textshows) {\r\n\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 60;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 3) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n // newArr.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((media2) => [...media2, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media3) => [...media3, data])\r\n // : null;\r\n // }\r\n // if (index == 3) {\r\n // setshowSlider(true);\r\n // }\r\n // });\r\n }\r\n //console.log(index)\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n setshowbg(false, \"\", \"\", false, 15, index, true)}\r\n layout={global.layout0}\r\n onLayoutChange={(e) => global.onLayoutChange0(e, 0)}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {global.layout0.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false,\"\")}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n data.fontAlignment +\r\n \" \" +\r\n data.fontCapitalize\r\n }\r\n onChange={(e) => getcontent(e, index)}\r\n value={data.text}\r\n >\r\n );\r\n })}\r\n \r\n ) : null;\r\n })}\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >\r\n {imgindex == 0 ? (\r\n
\r\n
\r\n setzoomToggle()}\r\n >\r\n Scale\r\n
\r\n
\r\n \r\n filterBtnClick(mediaArray[0].url, 0)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n showCroppedImage(mediaArray[0].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
\r\n closeScale(50)}\r\n >\r\n Close\r\n
\r\n
\r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
\r\n setZoom(zoom)}\r\n />\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n 1\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n className={\r\n dragoverId == 2 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[1].url + \") \",\r\n }}\r\n >\r\n {imgindex == 1 ? (\r\n
\r\n
\r\n setzoomToggle()}\r\n >\r\n Scale\r\n
\r\n
\r\n \r\n filterBtnClick(mediaArray[1].url, 1)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n showCroppedImage(mediaArray[1].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
\r\n closeScale(50)}\r\n >\r\n Close\r\n
\r\n
\r\n\r\n {imgindex == 1 && zoomToggle ? (\r\n
\r\n setZoom(zoom)}\r\n />\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[2].url,\r\n mediaArray[2].type,\r\n false,\r\n 2\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 3)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 2)}\r\n className={\r\n dragoverId == 3 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[2].url + \") \",\r\n }}\r\n >\r\n {imgindex == 2 ? (\r\n
\r\n
\r\n setzoomToggle()}\r\n >\r\n Scale\r\n
\r\n
\r\n \r\n filterBtnClick(mediaArray[2].url, 2)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
\r\n
\r\n \r\n showCroppedImage(mediaArray[2].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
\r\n closeScale(50)}\r\n >\r\n Close\r\n
\r\n
\r\n\r\n {imgindex == 2 && zoomToggle ? (\r\n
\r\n setZoom(zoom)}\r\n />\r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
\r\n {textShow && textArrays[0].text.length >= 40 ?
= 60 ? \"char-counter red\" : \"char-counter \"}> {60 - textArrays[0].text.length}
: null}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SceneFourtySeven;\r\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAEAQAAABQ8GUWAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAACYktHRAAAqo0jMgAAAAlwSFlzAAAAYAAAAGAA8GtCzwAAAAd0SU1FB+cGDQYbFuPQrp4AAANZSURBVHja7ZrLTupAAIanRneuTFzqxneRmwqKJKDiFQWvwEpjXBufxJVLNcbHcE1cuSLqysQW2vnPopCDzvQ+VVrnT0gwtsN8X6ft3AiRkZGRkZGRkfmjUQb/ACYmCEkmCZma+u2KiQ9AyMsLIQ8PivL+zj+Ezs4Cn5+IbTQNdG7O3lNsJWga6Pw8B3hykm0sqRSgqr9dZXFRVSCV4rKD3t8DzSYrIZ2OhwRVBdJplq/ZBO7uCPD2Zh54dsYaSiSifTvwmz3QaJj/b7fJ1xMaDfbgTCaaLUFVgUzGGt4MYU88PWVPSiaj1RI0DVhYYDnqdYBSBwGUAvV6dCVYwNNq9Tu8hYCeBHpywn87DLMETQOyWbfwNgKcJAzjM8ECHnt7VvAOAnoScHw8/BL8wbsQEAUJnQ6Qy7HNfnfXCd6lgJ4EenQ0fJ2lYPAeBAyjhODwHgXYSfjpzlKnAywuBoX3IaAnAYeHvyfBCr5SAQzDa2k+BNhJWFoyKxhWdB0oFkXBBxDQl3Bw8HMSLOCxs+MXPqCAn5Sg60CpJBpegAA7Cfm8GAnhwQsSAACGAVqpsPdmoQB0u/7L7XZBCwWR93xIAgCzJezvs5VdXvYnQdeBlRX2ym9vi4IHgBEScpSRmxuCUokQXXd/lmEQsr6uKNfXYddPUAvgX/0vv+O6Jeg6sLpqX2dxrSC8hyCdnvYugQ/PLUuQhJBeg/m8OUSt1VgYqwejroOurbFlbW2ZbxPemyC4hJA7QpSCVqvOEqzgNzf/A4bzOgzQFeZcXW4HyEICslng6cn88CYzBuEHRHF7g7Wa10FQAAF+xgGGAWxsEJcBikUTlhex4wHvw2HfI0F3Euzh+xE3IhQwIZLLue/yGgZwfg46OspWfmwM9OLCPYDdhIh7CQGnxLJZ82nvMbTVAr28BC2XQctl4OoKeH72XI7lNLjQKbFhmwr7nlAnRYd9Rji4BPuFkUjA9yN0YSRqq0L+JfAXRyMJ7yDB3eKoFXxUVoYHJbhbIXaxQSJq8A4S2A0Sr6/m1zhsjPAqod223iQV+f1BAxK4+4SaTeD2lr9NLjbwDhI47DGEt5fwDT6uu0StJXA2SycSBDMzRBkfJ3EKPj6I0moR8vhouVlaRkZGRkZGRuYv5R8hA7zPA1vWvwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/download.dbfe7e69.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/Triangle1.7a1b6da7.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAAINCAYAAADr3Ys6AAAABHNCSVQICAgIfAhkiAAAEV5JREFUeJzt3XmwnXV9x/F3IKSiSYCw4zYKZclgcUPbkQpiRcAmFSsC1UKBwaAlFIqyFayFYGmHRaiAwGhjK2JVUBZBoIZqAYsUoQQEBCsgi5SgEyJBSMLtHz+O3IRz7j3L8zzf5fm8Zpi56/l9w3vOuedZznOmzLn1xpOBS4DbkTTWAk4AbgPuAz4DbGs6kVRirXEfbwUcB9wN3AQcBsyyGEpGt1aPr/8B8E/Ao8DXgHcBU5oaSkbXK2zH7wB7A4uAu4D5wHp1DyWjmyzseNsBZwMPA+cDO9QykVRikLAd04GPUp5Ffw+YO+TtSI1GDfJO4DLgx8DHgHVHnkgqUdU9bRvgXOAB4BhgZkW3K0Oq+iF0E+BUSuCTgQ0rvn3pU11/Gzeg7Pj4GbAAbQ83ru4nPTOAv6EE/jSwfs3ryQuaejY7E/hbSuBPoidZtWt6M2V94B+Be4GDgLUbXr81rLY/Xw18AbgD2N1ohtSsdyzMBq5+4b/ZxrOkYh22Y3fgf4BzgI2MZ0nBS1iAqcDHgXuAefiaLRyP//M2BD4P/AB4s/EsYXkM2/E24IeUI0o6VDggz2GhbA7Np5zVsbfxLKF4D9uxOeVMjsuAVxrPEkKUsB1zgTuBA60H8S5aWCh7r74IXAVsYTyLWxHDduwBLAY+aD2IR5HDQjkc+HXgS+jg/mqih+3Yn7Lf+Z3Wg3iRJSzAa4HrgZPQUaNUYaH8e04ErgM2M57FVLawHe+iHFTYzXoQK1nDQjmx7mpa+tCcOSy8+NB8NS07oS572I73UA4obG89SFPaEhZgS8qhwL2sB2lCm8JCed3RJZS/u6n/7an/cT1Mofzd/QaJT4NtY9iOvSg7NDaxHqQObQ4L8HbKZRm2th6kam0PCy8+qdrJepAqKWwxi7IbMs3pNwr7opcBFwMHWw9SBYVd3drAhcAR1oOMSmFfagpwJvAp60FGobC9/R1wGkGvb6WwEzsKOI+AcRV2cvOAswgWV2H7Mx843XqIQShs/46kXB02BIUdzHGUa2m4p7CD+zTlAimuKexw/gH4sPUQE1HY4UyhvH5oV+tBelHY4U0Dvkk59OeOwo5mJnAF5bL7rijs6DamnN66sfUg4ylsNbainCQ3zXqQDoWtzh9Sdj26oLDVOhQ4xHoIUNg6fA54h/UQClu9aZS/t6+yHEJh67EpcCmGJ6QrbH12pJxiY0Jh6zUP2M9iYYWt3/mUt69plMLWbwZwEQ3vvFDYZryF8j5EjVHY5nyCctGTRihsc9YCFtLQtZcVtlmvAc5oYiGFbd5BwJ51L6KwNi6k5odkhbWxBfD3dS6gsHYOpcajQAprZwpwAbBOHTeusLZmA39dxw0rrL0TqOGdSRTW3nRq2LZVWB8+RMWXvVdYP06nwh4K68dbgY9UdWMK68spVHSelML68irgsCpuSGH9OZYK3hxKYf2ZRbkM0UgU1qcjGfHNKRTWpxmMeD1HhfVrPuUtVYeisH6tT4k7FIX17XCG3K5VWN82Ysi3LVdY/45kiE4K699WwAcG/SWFjeEvB/0FhY1hFwZ8w0WFjWOgTR+FjePPGODggMLGMZ0BXh2vsLH0/WZPChvLjsAb+vlBhY3noH5+SGHj2ZfyVm0TUth4NqOPK5srbEyTnqaqsDHtRXlb1J4UNqYZwG4T/YDCxrXXRN9U2LjmMsGLphU2rlnAzr2+qbCxzen1DYWN7b29vqGwsW0DbNntGwob3/u6fVFh4/ujbl9U2Ph2pstBAYWNbyblMgerUdgcXnK0R2Fz2GXNLyhsDm9njZYKm8N6lOsy/pbC5rHaJXIVNo/fH/+Jwuax4/hPFDaPbYGXdz5R2DzWBn6v84nC5vKmzgcKm8sbOx8obC6/3ZZV2FwUNqlZlJeAKGxC24HCZrQ1KGxGrwOFzUhhk3o9KGxGuscmtSEwU2Fz2kxhc9pCYXPaVGFz2lxhc1LYpDZQ2JzWU9icFDYp7aBISvfYpKYrbFIKm9MrFDanqQqblMImpbBJKWxSCpvTmMLm9JTC5vS0wuaksEktV9icnlTYnBQ2qSUKm9MTCpvTIwqb08MKm5PCJrQSPRSn9ACwUmHzuQ902C6j+0FhM7oTFDajH4PCZrQYFDab/wWWgsJm89+dDxQ2l1s6HyhsLj/sfKCweTyLwqZ0C/CbzicKm8f3x3+isHlcO/4Thc1hKXDT+C8obA7XAivGf0Fhc/j2ml9Q2PjGgGvW/KLCxncb8Is1v6iw8V3a7YsKG9sY8OVu31DY2G4EHuz2DYWN7Su9vqGwcT0HfK3XNxU2ru8AT/b6psLG9cWJvqmwMT1El71N4ylsTOdSXqPTk8LG8wzwhcl+SGHj+TdgyWQ/pLDxnN3PDylsLN+l7PSflMLGckq/P6iwcdwAXN/vDytsHCcP8sMKG8PNrHEW4mQUNoaTBv0FhfXvBuCqQX9JYX0bA44e5hcV1rdvAj8Y5hcV1q9ngU8O+8sK69dZlEsPDEVhfXoEWDDKDSisT0cAy0a5AYX152rgG6PeiML68gxwWBU3pLC+LGCEJ0zjKawfi4HTq7oxhfVhBXAAZdu1Egrrwyn0eWZEvxTW3o+Az1R9owpr61nKQ/CKyX5wUApr60ReuHB01RTWzrXAaXXduMLaeJzyEDxW1wIK27wxYH+6XBCkSgrbvNMY8MS0YShss24CTmhiIYVtzv8B+1AuMVA7hW3GKmBf4OGmFlTYZhzHAC/PqILC1u8Satxe7UVh67UYOIgat1d7Udj6LAE+ADxlsbjC1mMF5Rnw/VYDKGw9jgQWWQ6gsNU7DzjHegiFrdYi4K+shwCFrdJiypOlyg+aD0Nhq/EEMIcX3uLTA4Ud3XJK1K4XhLaisKNZBexHuUaEKwo7mvnA5dZDdKOwwzuVsmnjksIO5yLgeOshJqKwg1uE0Y79QSjsYDrbqo2cBTEKhe3fz4E9cbStOhGF7c8TwK40eGrLqBR2cp0dEGaH4IahsBN7jnJc1d0OiMkobG9jlGe/V1oPMgyF7e14yvZqSArb3RmUPUthKexLXQR8wnqIUSns6kLsVeqHwr7oZmAuAfYq9UNhi/sp26pPWw9SFYWFR4E9KHuX0mh72KXA7gTbq9SPNod9jnKkZrH1IHVoa9jOXiXTs/Xr1Nawofcq9aONYc8j+F6lfrQt7OWUMwvTa1PYmynnAK+yHqQJbQn7MOUZ8HLrQZrShrBLKecqPWo9SJOyh+28BCPltupEsoc9ivJ2J62TOez5lLcRa6WsYRcBh1sPYSlj2Acpl7dLcVx1WNnCLqds1qQ6BDeMbGE/TnlXjNbLFPZs4EvWQ3iRJexNjPDuyBllCPtLyk6IVj9ZWlP0sGPAXwAPGc/hTvSwnwWusB7Co8hhbwGOtR7Cq6hhnwY+jP6u9hQ17DHAfdZDeBYx7HXAudZDeBct7K9I8qKpukULewSBLvBhKVLY7wL/Yj1EFFHC/oayg1/6FCXsqcBPrIeIJELYe2nBmftVixB2PuVN6mUA3sN+h7LdKgPyHHYVcLT1EFF5DruQFp7oXRWvYZ8GTrQeIjKvYc8GHrMeIjKPYZcBp1sPEZ3HsOcAT1oPEZ23sM9QHoZlRN7Cfhn9ba2Ep7BjwJnWQ2ThKey1wN3WQ2ThKazbtxOLyEvYR4BvWw+RiZew/wqstB4iEy9hF1oPkI2HsLdSDqZLhTyEvdh6gIw8hL3UeoCMrMPeAfzMeIaUrMNeZrx+WtZhdT5TTSzDLgP+y3D91CzDfh9YYbh+apZhbzRcOz2FTcoq7ErKNSSkJlZh76acBiM1sQp7u9G6rWEV9i6jdVvDKqxe61ozq7A6TFczq7A/NVq3NSzCPo5eyFw7i7C6UmkDFDYphU3KIuzPDdZsHYuwrX/rlCZYPSuWmukem5TusUlZhF1isGbrNB12OTrPqRFNh13W8HqtpbBJNR32qYbXay2Lv7HSgKbD6olTQ3SPTcr6RVlSk6bD6o2QGqKwSTUdVg/9DdH/6KSaDjul4fVaq+mwMxter7WaDjuj4fVaq+mw0xter7UUNqmmw85qeL3WajrsOsAGDa/ZShbbsRsZrNk6FmE3NVizdSzCvtpgzdaxCPsagzVbR/fYpCzCbmmwZutYhN3GYM3WsfobO81g3VaxCLs2MNtg3VaxOtD+BqN1W8Mq7A5G67aGVdg3Ga3bGlZh32a4ditY/c+dDmxntHYrWN5r3mG4dnqWYXc2XDs9hU3KMuwr0e7F2lg/M32v8fppWYfdzXj9tKzD7gqsazxDStZh10X32lpYhwWYaz1ARh7Cvh8dn62ch7CzgPdYD5GNh7AA+1kPkI2XsHPRs+NKeQk7A3if9RCZeAkL8OfWA2TiKewewCbWQ2ThKew6wEesh8jCU1iAg60HyMJb2NnozIpKeAsL8FHrATLwGHZvYEPrIaLzGHZd4ADrIaLzGBbgUHR5vpF4Dfu7wLuth4jMa1iAj1kPEJnnsHMpZzLKEDyHnYo2fYbmOSzAIZRdjTIg72E3B/7EeoiIvIcFmGc9QEQRwr4bXUJoYBHCTqH8rZUBRAgLcCA6RXUgUcJuAsyxHiKSKGEB9rceIJJIYfcANrYeIopIYdcB9rUeIopIYUEPx32LFvatwNbWQ0QQLSzAPtYDRBAx7J9aDxBBxLA7AK+3HsK7iGEB/th6AO+ihtVeqElEDbsTej3thKKGfRm6ZN+EooYF2MV6AM8ih93JegDPIofdkfKQLF1EDjsNeKP1EF5FDgvlXitdRA/7ZusBvIoednvrAbyKHnY74v8bahH9f8or0BsNdxU9LMDrrAfwKENYHcLrIkNYPRR3kSHs5tYDeJQh7KbWA3iksEllCDvTegCPFDapDGGnWw/gUYawL7cewKMMYXVVmS4yhJUuFDYphU0qQ9hfWw/gUYawq6wH8ChD2OesB/AoQ9hfWQ/gkcImlSHsL60H8ChD2CXWA3iUIazusV1kCPuo9QAeKWxSGcI+ZD2ARxnCPmA9gEfRw64AHrEewqPoYe9H+4q7ih72XusBvIoe9h7rAbxS2KSih9VDcQ+Rwz4P3GU9hFeRw94PLLMewqvIYX9kPYBnkcPeaj2AZ5HD3m49gGdRw46hh+IJRQ17DzrAPqGoYW+wHsC7qGFvtB7Au6hhdY+dRMSwjwE/tR7Cu4hhF1kPEEHEsNdYDxBBtLBjwL9bDxFBtLB3Uv7GyiSihdXDcJ+ihb3SeoAoIoV9Am2/9i1S2CvRqaZ9ixT2W9YDRBIl7DLgOushIokS9lvAM9ZDRBIl7FesB4gmQtjH0d6mgUUI+1VgpfUQ0UQIu9B6gIi8h70FnY04FO9hL7AeICrPYZdR/r7KEDyHXYguWTs0r2GfB862HiIyr2GvoLyaTobkNexnrQeIzmPYW4H/sB4iOo9hF1gPkIG3sHcAl1kPkYG3sAsop5jKiDyFvQO4xHqILDyFPY6y/SoV8BL2e8BV1kNk4iHsGHCM9RDZeAh7MXCz9RDZWIf9NXC08QwpWYc9BV1IuhaWYe8GzjRcPzWrsGPAIcCzRuunZxX28+jKL7WyCPsQcKzBuq3SdNgx4EDgqYbXbZ2mw56FrvrSiCbDLgaOb3C9Vmsq7FLgg+gVc41pIuwYcDDwkwbWkhc0EfYMdJy1cXWH/U+0aWOizrC/APZBL4E0UVfY5cD70VXUzNQRdhWwHzrGaqqOsIcDl9dwuzKAqsMuAM6t+DZlCFWG/RxwYoW3JyOoKuwFlIdgcaKKsBcCh6Iz+F0ZNexZwDwU1Z1Rwp4EHIGiujR1iN9ZQbmX/nPFs0iFBg3bOfymS+A5N0jYB4E5lAPm4ly/f2OvAd6CooYxWdjngU8BewJP1j+OVGWih+LHgAPQlb1D6nWP/SqwPYoa1pphHwc+RDnspndUDqwT9nnKUZltga/bjSNVmQpcDxwF3GY8i1To/wHxphXUVd0RtwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/Circle2.27911d81.png\";","module.exports = __webpack_public_path__ + \"static/media/HalfCircle.8f295102.png\";","module.exports = __webpack_public_path__ + \"static/media/Circle1.1135a23b.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAAmJLR0QAAKqNIzIAAAAHdElNRQfmCwcFMCOdJN79AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTExLTA3VDA1OjQ4OjM1KzAwOjAwDyZEOAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0xMS0wN1QwNTo0ODozNSswMDowMH57/IQAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjItMTEtMDdUMDU6NDg6MzUrMDA6MDApbt1bAAAAsElEQVRoQ+2YMQqEQBAEl3uGqQiKiW9aEPT9ZoKraM8EJ5gJdwxVBs1KJ9UiiAkAAOD/2Mt5Nc1+UVV2Oz4Szlm5bcplUQYeQoJ3ccfPdW31OEjsSbwU5TRZPQ4SQxxxgTjiYZDYMCjv4n7O2eo/52MJb+NPWvn0Csyz1eMiUYZgCEeiDMEQjkQZwn6AjKOEXdzxYbrO6nH5HsLF11XZtlaLj4T9i7Lv7TYAAMBrpHQAJWmCsB6gCmoAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAAmJLR0QAAKqNIzIAAAAHdElNRQfmCwcFMCOdJN79AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTExLTA3VDA1OjQ4OjM1KzAwOjAwDyZEOAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0xMS0wN1QwNTo0ODozNSswMDowMH57/IQAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjItMTEtMDdUMDU6NDg6MzUrMDA6MDApbt1bAAAArklEQVRoQ+2YMQqEMBQFwx7DVgTFxjMFBD2/naBuNu//wq2FXZIZi0GxmSeCGAAAAJ7nyoyjPE12uXwU3PfyvsvHcZ2fY57ttnJR8DDIKfzGmWeoaIh1lVP4DR8mRru9XBTKEAzhKJQhGMJRKEPYEDHKHu74+fMfVC8z/Ao92WWRK3oFFEY44YJwwotBYW0re6hTcLijwKaRt02uIPwbBach8g+QrrPLAAAAf0MIb5YJgrAZDxlzAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/SideShape3.10970336.png\";","module.exports = __webpack_public_path__ + \"static/media/default.a4119012.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAEAYAAAD6+a2dAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5QkEBhkgrMwg1QAABMRJREFUeNrtnF9oHEUcx3+TirQSxDul5EkSrIZaWyJ9SB5SpFowklS5yUODaDC3Vyy0+XOX5HJ7jaFF8+dyl1wuV+iDuUOwKKK9AxHFh/alGmtL01K0VVolIiIUuksC9qFCxocyC971krvL7Oze3u/zkpDdnd2Zz3d32dnfBgBBEARBEARBEARBEASpKLQvfNvpd+Pjelipo6dGR60+HkQSXLymKQqljPGf+nllprNjbGyj7YnVHUDKQ7uiHKLPTkxAA9TCblUttB6ph3fgRCTiWk3ty+wJhfKWW90RpDSKFZ9LoSBgACqEcsXnQrrJj+xgNOr6auGnbE8wiAGwOfq09xxti8WYj3wCjw0OimqXXxEesbqDyMPhZzxrAKHiDRrZbbZldRWvADZD1KW+EORV1sreP37cdTndk901MYEBsAmyxfO/4y3AYkwXvwNqoSkcdmnpnuyuycnc5VusHoBqRdO8H3qmJyfBRe6Qf80Un0pkxvLFG+tZPRDVhiEeyEVyMX9iZrMUK95Y3+oBqRbsJt7YzuqBcTp2FW9sb/UAORW7izfasXaYnEeliDfas2aYnEeliefUyB0m56E/rlyg16emzBIPQJbJsqqKFm+0LmOQnAgXz5bhIzgxMiJ+Dw/Eu90L584uTU2Z1Q8MQIk4RTyn6FsALzHSX/KNerqOHjX7wOwCYwAAhGjNyoxncW7OLPFsBdpZayAgSzxnwwBoHyuX6UAwyJrgBnv05EmWYu2kI5nUZ71n6N7eXlkHKhsuXm9RZjyL8Th8AzdIrL9f/J4enPFPNqRoNhCPy+5nwXcB2nve4c4dw8PQTS7A1ulpY8E2WIKbhMDT5AB429pC9S/u3/mHpkW+vZq5+felS7I7IBrZ4mWf8bnkBUA7pLzh+XRoCD4gBO5GowW3dFgQqk08x7gFaE2+F+jbg4NwGp4in68jPhc3LECGEPY6eQb8iUSl3RoM8V3e3+n9ublqEc+p0bZ6lzq3BwJwnjXDP7FY2S1VWBDyxJ8m49DV1yd8R7dYgvWGQnYTz6khB2q61yJ1dcJazA2CzZ4aZIknLvYX3PP73c3p2uz+SMTqfhc8Tv4L/8IEXmYHYTYcFrYHDXxAGSNfst8g3t/vCqTfylxJJmV3VPoZb3PxnLyJIKcFAcWvT8GZQNNq1SQFwXTxvB9r4CNev9/1XOrns/cTCdH9MJsNp4IrLQgovjSKfhdg9yAY4keUFXokkYAQBOCOwKcQh4nnlPwyyG5BQPGbo+R6APfe1GeZW+EwAGthLQKfa0ucR0DxYii7IMTtTh/OBlVVdhCkif+FtLNrAwNOFc8RVg+gf6800ruzs2wntMJhv1/YEXIhUVgE2tfHdsPX7M/GRngT6ol67Jjw/XDxHQtaNjY/L6x9myK8IMTs2jjhVKl4jmkVQbYPQpWL55heEmZ+CVWJoPj/Ia0m0PIgoPiHIr0oVHoQUPy6SP8u4ImV1L7MHlWF1+B5NmTi4xWKLwrLysJNm7O3yevnSsHy7wKEBQHFl4XlAeCUHQQUvylsEwBO0UFA8c7G+CInqKzQI/Pzxj9Dvq38QM+srdm96BQRhBGEU8ornl+TSf1dZYbeE/gOAEEQBEEQBEEQBEEQpEr4D87tBoYXe+0PAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA5LTA0VDA2OjI1OjMyKzAwOjAwFnZo+gAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wOS0wNFQwNjoyNTozMiswMDowMGcr0EYAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/color-picker.d1f1709c.svg\";","import * as React from 'react';\nimport { Container } from 'reactstrap';\nimport logo from './../Assets/images/header/logo.svg';\nimport { Link } from 'react-router-dom';\nimport Cookies from 'universal-cookie';\nconst SiteHeader = (props) => {\n const [userToken, setUserToken] = React.useState('');\n const cookies = new Cookies();\n React.useEffect(() => {\n console.log(props)\n if (cookies.get('token')) {\n setUserToken(cookies.get('token'));\n }\n }, [userToken, cookies]);\n\n /**\n * Logout Function \n * @desc Remove user data from cookies\n * @returns na\n */\n // eslint-disable-next-line\n function logOut() {\n cookies.get('token');\n cookies.remove('token');\n window.location.reload();\n }\n return (\n
\n \n
\n
\"Key
\n \n {// eslint-disable-next-line \n props.hide != 'nav' ?\n
\n
\n Create Video\n Templates \n Pricing\n Support
\n
\n : null}\n
\n Signup \n
\n
\n \n
\n
\n );\n};\nexport default SiteHeader","import React from 'react';\nimport SiteHeader from './Header';\nconst Header =( props) => {\n return (\n \n );\n};\nexport default Header","import * as React from \"react\";\nimport logo from \"./../Assets/images/homeV3/FooterLogo.png\";\nimport { Link } from \"react-router-dom\";\nconst SiteFooter = (props) => {\n return (\n \n );\n};\nexport default SiteFooter;\n","import React from 'react';\nimport SiteFooter from './Footer';\n const Footer = (props) => {\n return \n};\nexport default Footer","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport icongreen from \"./../../Assets/images/pricing/checkedgreen.png\";\nimport iconred from \"./../../Assets/images/pricing/checkedred.png\";\nimport iconblack from \"./../../Assets/images/pricing/checkedblack.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport Circle3 from \"./../../Assets/images/homeV3/Check-Circle.png\";\nimport Circle4 from \"./../../Assets/images/homeV3/white_circle.png\";\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\nimport axios from \"axios\";\nconst Pricing = () => {\n const [toggle, setToggle] = React.useState(false);\n const settoggle = () => {\n console.log(toggle);\n setToggle(!toggle);\n };\n return (\n
\n
\n
\n
\n

Choose Your Plan

\n
\n
\n
\n
\n
\n
\n

Pricing Packages

\n
\n \n setToggle(!toggle)}\n >\n \n \n \n
\n
\n\n
\n
\n
\n

Free

\n
\n $0/month\n
\n \n
    \n
  • \n \"img1\"\n Create unlimited free videos\n
  • \n
  • \n \"img1\"\n Individual user\n
  • \n
  • \n \"img1\"\n 15 second videos\n
  • \n
  • \n \"img1\"\n 1080 HD\n
  • \n
  • \n \"img1\"\n Listing templates only\n
  • \n
  • \n \"img1\"\n Limited fonts\n
  • \n
  • \n \"img1\"\n Download only\n
  • \n
  • \n \"img1\"\n Reveo watermark\n
  • \n
\n \n
\n
\n
\n
\n {/* {toggle ?
$30 DISCOUNT
: null} */}\n

Professional

\n
\n {!toggle ? (\n
\n $15/month\n
\n ) : (\n
\n $120/year\n
\n )}\n
\n
\n or get three months free when billed annually at $120\n
\n \n
    \n
  • \n \"img1\"\n Individual user\n
  • \n
  • \n \"img1\"\n Unlimited monthly downloads\n
  • \n
  • \n \"img1\"\n Listing templates\n
  • \n
  • \n \"img1\"\n Open House Templates\n
  • \n
  • \n \"img1\"\n 'Sold' Announcement Templates\n
  • \n
  • \n \"img1\"\n Agent profile templates\n
  • \n
  • \n \"img1\"\n Community Profile Templates\n
  • \n
  • \n \"img1\"\n Social media sharing\n
  • \n
\n \n
\n
\n
\n
\n

Team

\n
\n {!toggle ? (\n
\n $30/month\n
\n ) : (\n
\n $300/Year\n
\n )}\n
\n
\n with a minimum of 3 user and get two months free when\n billed annually at $300/user\n
\n \n
    \n
  • \n \"img1\"\n Minimum of 3 users, maximum of 10 users\n
  • \n
\n {/* */}\n
\n
\n
\n
\n
\n
Sharing
\n
    \n
  • \n Allow sharing or uploading directly to\n
      \n
    • YouTube
    • \n
    • X
    • \n
    • Email
    • \n
    • Instagram
    • \n
    • Direct Download
    • \n
    • Facebook
    • \n
    \n
  • \n
\n
\n
\n
Features
\n
    \n
  • \n

    \n reveo allows real estate professionals to quickly and easily\n create animated videos using existing footage and\n photography. With a library of style-relevant, drag and drop\n templates, users can build unique marketing tools to use\n with their listing and on social media channels.\n

    \n
  • \n
  • \n

    \n Customize the templates with your branding and personality\n

    \n
  • \n
\n
\n
\n
\n
\n \"triangle\"\n \"triangle\"\n \"triangle\"\n \"triangle\"\n \"triangle\"\n \"triangle\"\n \"triangle\"\n \"triangle\"\n \"triangle\"\n
\n );\n};\nexport default Pricing;\n","import React from \"react\";\nimport Pricing from \"./Pricing\";\nimport Header from \"../../Header\";\nimport Footer from \"../../Footer\";\nconst PricingPage = () => {\n return (\n
\n
\n \n
\n
\n );\n};\nexport default PricingPage;\n","import React, { useState } from \"react\";\nimport { Container } from \"reactstrap\";\nimport logo from \"./../Assets/images/header/logo.svg\";\n\nimport UserIcon from \"./../Assets/images/User/Header/menu-item.svg\";\nimport Loader from \"./../Utility/Loader/Loader\";\nimport UserAvatar from \"./../Assets/images/User/Header/default.png\";\nimport { Link } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport { Redirect } from \"react-router-dom\";\nimport Cookies from \"universal-cookie\";\nimport { apiPath } from \"./../Utility/Utility\";\nimport FontPicker from \"font-picker-react\";\nimport {\n Dropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n} from \"reactstrap\";\nconst SiteHeader = (props) => {\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const [userName, setUserName] = React.useState(\"\");\n const [redirectPath, setRedirectPath] = React.useState(false);\n const [processing, setProcessing] = React.useState(false);\n const [loginType, setLoginType] = React.useState(\"\");\n const [profileImage, setProfileImage] = React.useState(\"\");\n const [activeFontFamily, setActiveFontFamily] = React.useState('Raleway');\n\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n console.log(tokens)\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n // console.log(decoded);\n setUserName(decoded.firstName);\n if (decoded.loginType) {\n setLoginType(decoded.loginType);\n }\n if (decoded.profileImage) {\n setProfileImage(decoded.profileImage);\n }\n } else {\n setRedirect();\n }\n setTimeout(function () {\n setActiveFontFamily(props.fontFamily)\n }, 600);\n }, [userToken, cookies, props.fontFamily]);\n\n const [dropdownOpen, setDropdownOpen] = useState(false);\n\n const toggle = () => setDropdownOpen((prevState) => !prevState);\n\n function setRedirect() {\n setRedirectPath(true);\n }\n function renderRedirect() {\n if (redirectPath) {\n return ;\n }\n }\n /**\n * Logout Function\n * @desc Remove user data from cookies\n * @returns na\n */\n function logOut() {\n cookies.get(\"token\");\n cookies.remove(\"token\");\n localStorage.removeItem('token');\n setProcessing(true);\n setTimeout(function () {\n setProcessing(false);\n setRedirect();\n //window.location.reload();\n }, 1000);\n }\n\n return (\n
\n \n
\n
\n
\n \n \"Key\n \n
\n {props.hide != \"nav\" ? (\n
\n
\n \n \n {userName}\n
\n {loginType != \"\" ? (\n \"user\"\n ) : profileImage ? (\n \"user\"\n ) : (\n \"user\"\n )}\n
\n
\n \n \n \n \"Videos\" Exported Videos\n \n \n \n \n {\" \"}\n \"settings\" My Settings\n \n \n \n \n {\" \"}\n \"settings\" Team\n \n \n \n \"Logout\" Logout\n \n \n
\n
\n
\n ) : null}\n
\n
\n {renderRedirect()}\n
\n {activeFontFamily ? (\n \n ) : null}\n
\n
\n );\n};\nexport default SiteHeader;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport Footer from \"../../Footer\";\nimport icongreen from \"./../../Assets/images/pricing/checkedgreen.png\";\nimport iconred from \"./../../Assets/images/pricing/checkedred.png\";\nimport iconblack from \"./../../Assets/images/pricing/checkedblack.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport Circle3 from \"./../../Assets/images/homeV3/Check-Circle.png\";\nimport Circle4 from \"./../../Assets/images/homeV3/white_circle.png\";\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\nimport emailicon from \"./../../Assets/images/homeV3/email.png\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport moment from \"moment\";\nimport axios from \"axios\";\nimport { apigetVideo, apiPath, apiUpdateUser } from \"./../../Utility/Utility\";\nimport { Helmet } from \"react-helmet\";\n\nconst Video = () => {\n const match = useRouteMatch(\"/play/:videoId/\");\n const {\n params: { videoId },\n } = match;\n const [videoUrl, setVideoUrl] = React.useState(\"\");\n const [videoDate, setVideoDate] = React.useState(\"\");\n const [videoTitle, setVideoTitle] = React.useState(\"\");\n const [userData, setUserData] = React.useState({});\n const [userId, setUserId] = React.useState(\"\");\n React.useEffect(() => {\n axios\n .get(`${apigetVideo}` + \"?videoId=\" + videoId, {})\n .then(function (response) {\n console.log(response);\n setVideoUrl(response.data.data.path);\n setVideoDate(response.data.data.updatedAt);\n setVideoTitle(response.data.data.videoTitle);\n setUserId(response.data.data.userId);\n getuserData(response.data.data.userId);\n });\n }, []);\n\n const getuserData = (userid) => {\n axios\n .get(`${apiUpdateUser}` + userid, {})\n .then((response) => {\n console.log(response.data.user);\n setUserData(response.data.user);\n })\n .catch((error) => {});\n };\n return (\n
\n \n \n Reveo Video\n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n
\n
\n
\n
\n

Reveo Video

\n
\n
\n
\n
\n
\n \n \n \n
\n
\n

{videoTitle}

\n {/* \n {moment(videoDate).format(\"dddd, MMMM Do YYYY\")}\n */}\n
\n {/*
\n \n \n \n Share\n \n \n \n \n Share\n \n \n
*/}\n
\n
\n
\n {userData != \"\" ? (\n
\n
\n

{userData.firstName}

\n
    \n
  • \n {\" \"}\n Phone: \n {userData.phone}\n
  • \n
  • \n Email: \n Click here \n
  • \n
  • \n Agency: \n {userData.agencyname}\n
  • \n
  • \n Website: \n {userData.website}\n
  • \n
  • \n {userData.agencylogo ? (\n \n ) : null}\n
  • \n
\n
\n
\n ) : null}\n
\n
\n\n {/* \n \n \"triangle\"\n \n \"triangle\"\n \"triangle\"\n \"triangle\" */}\n
\n
\n
\n
\n
\n
\n
Sharing
\n
    \n
  • \n Allow sharing or uploading directly to\n
      \n
    • YouTube
    • \n
    • Twitter
    • \n
    • Email
    • \n
    • Zillow
    • \n
    • Instagram
    • \n
    • Direct Download
    • \n
    • Realtor.com
    • \n
    • TikTok
    • \n
    • Facebook
    • \n
    • Embed
    • \n
    \n
  • \n
\n
\n
\n
Features
\n
    \n
  • \n

    \n reveo allows real estate professionals to quickly and\n easily create animated videos using existing footage and\n photography. With a library of style-relevant, drag and\n drop templates, users can build unique marketing tools to\n use with their listing and on social media channels.\n

    \n
  • \n
  • \n

    \n Customize the templates with your branding and personality\n

    \n
  • \n
\n
\n
\n
\n
\n
\n
\n );\n};\nexport default Video;\n","import React from \"react\";\nimport Video from \"./Video\";\nimport Header from \"../../Header\";\nimport Footer from \"../../Footer\";\nconst VideoPage = () => {\n return (\n
\n
\n
\n );\n};\nexport default VideoPage;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nconst TopSection = (props) => {\n return (\n
\n
\n
\n \n
\n
\n
\n );\n};\nexport default TopSection;\n","/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { Link } from \"react-router-dom\";\nimport Slider from \"react-slick\";\nimport $ from \"jquery\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport img1 from \"./../../Assets/images/home/listings/listings1.jpg\";\nimport video1 from \"./../../Assets/images/home/listings/diverse-workplace-scenes.mp4\";\nimport update from \"./../../Assets/images/templates/update.png\";\nimport close from \"./../../Assets/images/home/close.svg\";\nimport { apiPath, apiCheckPlan, apiUpdateUser } from \"./.././../Utility/Utility\";\nimport commingsoon from \"./../../Assets/images/home/ComingSoon.png\"\nimport moment from 'moment';\nconst FeaturedSection = (props) => {\n const [data, setData] = React.useState([]);\n const [inHover, setHover] = React.useState(\"\");\n const [userPlan, setUserPlan] = React.useState(\"\");\n const [showOverlay, setShowOverlay] = React.useState(false);\n const [popUpVideo, setpopUpVideo] = React.useState(\"\");\n const [userEmail, setUserEmail] = React.useState(\"\");\n const [popUpVideoTitle, setpopUpVideoTitle] = React.useState(\"\");\n const [popUpVideoPoster, setpopUpVideoPoster] = React.useState(\"\");\n const [popUpVideoEditUrl, setpopUpVideoEditUrl] = React.useState(\"\");\n const [modal3, setModal3] = React.useState(false);\n const [userData, setUserData] = React.useState(\"\");\n\n const [userCreated, setUserCreated] = React.useState(\"\");\n const [userVideos, setUserVideos] = React.useState(\"\");\n const toggle3 = () => {\n setModal3(!modal3);\n }\n const [modal4, setModal4] = React.useState(false);\n const toggle4 = () => setModal4(!modal4);\n const [userToken, setUserToken] = React.useState(\"\");\n const [planexpiryCheck, setpPlanexpiryCheck] = React.useState(true);\n const { buttonLabel, className } = props;\n const [category, setCategory] = React.useState(props.category);\n const cookies = new Cookies();\n React.useEffect(() => {\n if (props.templatedata) {\n if (props.category == true) {\n setData(props.templatedata.template);\n setCategory(props.category);\n\n } else {\n setData(props.templatedata);\n setCategory(props.category);\n }\n }\n if (data == \"\") {\n const tokens = localStorage.getItem('token');\n setUserToken(tokens);\n //setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n\n setUserEmail(decoded.email);\n getPlan(decoded.email);\n\n axios\n .get(`${apiUpdateUser}` + \"/\" + decoded._id, {})\n .then(function (response) {\n //console.log(response.data.user)\n setUserData(response.data.user)\n var date2 = new Date();\n var startDate = moment(response.data.user.createdAt).format('YYYY-MM-DD');\n var endDate = moment(date2).format('YYYY-MM-DD');\n const returndate = moment(new Date(response.data.user.createdAt));\n const currentdate = moment(new Date());\n var days_diff = currentdate.diff(returndate, 'days');\n setUserCreated(days_diff)\n setUserVideos(response.data.user.video_count)\n })\n }\n }, []);\n const getPlan = (email) => {\n axios\n .get(`${apiCheckPlan}` + \"?email=\" + email, {})\n .then(function (response) {\n // console.log(response);\n console.log(response.data.user);\n setUserPlan(response.data.user);\n if (response.data.user == 2 || response.data.user == 4) {\n var date = new Date(response.data.planDate);\n date.setDate(date.getDate() + 30);\n var today = new Date();\n today.setHours(0, 0, 0, 0);\n date.setHours(0, 0, 0, 0);\n if (date >= today) {\n setpPlanexpiryCheck(false);\n } else {\n setpPlanexpiryCheck(true);\n }\n } else {\n var date = new Date(response.data.planDate);\n date.setDate(date.getDate() + 365);\n console.log(date);\n var today = new Date();\n today.setHours(0, 0, 0, 0);\n date.setHours(0, 0, 0, 0);\n if (date >= today) {\n setpPlanexpiryCheck(false);\n } else {\n setpPlanexpiryCheck(true);\n }\n }\n });\n };\n var figure = $(\".slider-inner\");\n var vid = figure.find(\"video\");\n const settings = {\n dots: true,\n speed: 500,\n slidesToShow: 4,\n infinite: false,\n slidesToScroll: 1,\n\n centerPadding: \"60px\",\n responsive: [\n {\n breakpoint: 1600,\n settings: {\n slidesToShow: 6,\n slidesToScroll: 1,\n dots: true,\n },\n },\n {\n breakpoint: 1400,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 1,\n dots: true,\n },\n },\n {\n breakpoint: 1024,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 1,\n dots: true,\n },\n },\n {\n breakpoint: 600,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n },\n },\n {\n breakpoint: 480,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 1,\n },\n },\n ],\n };\n async function hoverVideo(index, id) {\n console.log(index)\n console.log('index')\n figure = $(\"#\" + id);\n vid = figure.find(\"video\");\n try {\n await vid[0].play();\n\n } catch (err) {\n console.log(\"Failed to play, error: \" + err);\n }\n //vid[0].play();\n setHover(index);\n }\n\n function hideVideo(index, id) {\n figure = $(\"#\" + id);\n vid = figure.find(\"video\");\n vid[0].pause();\n vid[0].currentTime = 0;\n setHover(\"\");\n }\n function showPopup(videoUrl, videoPoster, videoTitle, videoEditUrl) {\n console.log(\"here\");\n setShowOverlay(true);\n setpopUpVideo(videoUrl);\n setpopUpVideoPoster(videoPoster);\n setpopUpVideoTitle(videoTitle);\n setpopUpVideoEditUrl(videoEditUrl);\n }\n\n return data && category ? (\n
\n
\n
\n {data.length > 0 ? data.map((template, index) => {\n return (\n
\n
\n \n hoverVideo(index, \"video-\" + index + template._id)\n\n }\n onMouseLeave={(e) =>\n hideVideo(index, \"video-\" + index + template._id)\n }\n id={\"video-\" + index + template._id}\n >\n
\n {/* \"img1\" */}\n
\n {/*
{template.title}
*/}\n
\n
\n );\n })\n :\n
\n \"comingsoon\"\n

Coming Soon

\n
\n }\n\n \n \n {showOverlay ? (\n \n setShowOverlay(false)}\n className=\"TemplateModal__Close\"\n >\n \"close\"\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

{popUpVideoTitle}

\n

The right shape for:

\n
    \n
  • YouTube
  • \n
  • Your website
  • \n
\n
\n
\n

\n {userCreated >= 30 || userVideos > 2 && userPlan == 1 ?\n \n Edit this videos\n \n :\n \n Edit this videoss\n \n }\n

\n
\n

\n {\" \"}\n 16:9 @ 1920 × 1080 pixels{\" \"}\n

\n
\n
\n
\n
\n
\n \n ) : null}\n \n Try Our Free Plan \n \n \"Upgrade\"\n

\n You are currenly not have any plan plan.\n
\n You can try our free plan to start using scenes.
\n We also have 2 Premium plans that fulfill your needs.\n

\n
\n \n
\n
\n
\n \n Upgrade\n \n
\n
\n
\n
\n \n \n Your Plan is expired \n \n \"Upgrade\"\n

\n Your curren plan is expired.\n
\n You can try our free plan to start using scenes.
\n We also have 2 Premium plans that fulfill your needs.\n

\n
\n \n
\n
\n
\n \n Upgrade\n \n
\n
\n
\n
\n \n
\n ) : (\n data.map((template, index) => {\n return (\n
\n
\n \n hoverVideo(index, \"video-\" + index + template._id)\n }\n onMouseLeave={(e) =>\n hideVideo(index, \"video-\" + index + template._id)\n }\n id={\"video-\" + index + template._id}\n >\n
\n {/* \"img1\" */}\n
\n {/*
{template.title}
*/}\n \n {index == 0 ? (\n showOverlay ? (\n \n setShowOverlay(false)}\n className=\"TemplateModal__Close\"\n >\n \"close\"\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n

{popUpVideoTitle}

\n

The right shape for:

\n
    \n
  • YouTube
  • \n
  • Your website
  • \n
\n
\n
\n

\n {userCreated >= 30 || userVideos > 2 && userPlan == 1 ?\n \n Edit this videos\n \n :\n \n Edit this videoss\n \n }\n

\n
\n

\n {\" \"}\n 16:9 @ 1920 × 1080 pixels{\" \"}\n

\n
\n
\n
\n
\n
\n \n ) : null\n ) : null}\n {index == 0 ?\n
\n \n Free Plan Used \n \n \"Upgrade\"\n

\n You are currenly have free plan. and you
are only allowed to create 2 free videos\n
\n You can upgrade your plan to start using scenes.
\n We have 2 Premium plans that fulfill your needs.\n

\n
\n \n
\n
\n
\n \n Upgrade\n \n
\n
\n
\n
\n \n \n Your Plan is expired \n \n \"Upgrade\"\n

\n Your curren plan is expired.\n
\n You can upgrade your plan to start using scenes.
\n We also have 2 Premium plans that fulfill your needs.\n

\n
\n \n
\n
\n
\n \n Upgrade\n \n
\n
\n
\n
\n \n
\n : null}\n \n );\n })\n );\n};\nexport default FeaturedSection;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport TopSection from \"./TopSection\";\nimport InfoSection from \"./InfoSection\";\nimport FeaturedSection from \"./FeaturedSection\";\nimport SiteHeader from \"./../../Header/HeaderUser\";\nimport Loader from \"./.././../Utility/Loader/Loader\";\nimport Footer from \"../../Footer\";\n\nimport axios from \"axios\";\nimport {\n apiGetTemplateCategories,\n apiGetTemplateCategory,\n apiPath,\n apiGetTemplates\n} from \"./.././../Utility/Utility\";\nconst HomePageV2 = () => {\n const [data, setData] = React.useState([]);\n const [data2, setData2] = React.useState([]);\n const [processing, setProcessing] = React.useState(false);\n const [dataCategory, setDataCategory] = React.useState([]);\n const [categoyId, setCategoyId] = React.useState(\"\");\n const [categoyallActive, setCategoyallActive] = React.useState(false);\n React.useEffect(() => {\n axios.get(`${apiGetTemplateCategories}`, {}).then(function (response) {\n // console.log(response.data.templates);\n setData(response.data.templates);\n });\n axios.get(`${apiGetTemplates}`, {}).then(function (response) {\n // console.log('response.data');\n //console.log(response.data.template);\n\n setData2(response.data.template);\n });\n }, []);\n const getcategory = (id) => {\n setCategoyallActive(false)\n setProcessing(true);\n setCategoyId(id);\n axios\n .get(`${apiGetTemplateCategory}?category=${id}`, {})\n .then(function (response) {\n setProcessing(false);\n setDataCategory(response.data.templates);\n });\n };\n const getAllTemplate = () => {\n setProcessing(true);\n setDataCategory([])\n setCategoyId('');\n setCategoyallActive(true)\n setProcessing(false);\n\n };\n return (\n
\n \n
\n \n \n
\n
\n
\n {/* */}\n

Template Categories

\n
    \n
  • \n getAllTemplate()}\n\n >\n All\n
\n \n {data\n ? data.map((template) => {\n return (\n \n {template.template.length > 0 ?\n getcategory(template._id)}\n className=\"edit active\"\n >\n {template.title}\n
\n :\n getcategory(template._id)}\n className=\"edit gray \"\n >\n {template.title}\n
\n }\n \n );\n })\n : null}\n \n
\n
\n

Choose a template

\n {/*
    \n
  • All
  • \n
  • Popular
  • \n
  • New
  • \n
  • Recommended
  • \n
*/}\n {dataCategory.length > 0 ? (\n dataCategory.map((template) => {\n return (\n \n );\n })\n ) : data2.length > 0 ? (\n
\n
\n
\n {/* {data2.map((template) => {\n return ( */}\n \n {/* );\n })} */}\n
\n
\n
\n ) : null}\n
\n \n \n \n
\n
\n );\n};\nexport default HomePageV2;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nconst TopSection = (props) => {\n return (\n
\n
\n
\n \n
\n
\n
\n );\n};\nexport default TopSection;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { Link } from \"react-router-dom\";\nimport Slider from \"react-slick\";\nimport $ from \"jquery\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport img1 from \"./../../Assets/images/home/listings/listings1.jpg\";\nimport video1 from \"./../../Assets/images/home/listings/diverse-workplace-scenes.mp4\";\nimport update from \"./../../Assets/images/templates/update.png\";\nimport close from \"./../../Assets/images/home/close.svg\";\nimport { apigetVideo, apiPath } from \"../../Utility/Utility\";\nimport moment from \"moment\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport download from \"downloadjs\";\nconst FeaturedSection = (props) => {\n const match = useRouteMatch(\"/share/:videoId/\");\n const {\n params: { videoId },\n } = match;\n const [videoUrl, setVideoUrl] = React.useState(\"\");\n const [videoDate, setVideoDate] = React.useState(\"\");\n const [videoTitle, setVideoTitle] = React.useState(\"\");\n const [copied, setCopied] = React.useState(false);\n React.useEffect(() => {\n axios\n .get(`${apigetVideo}` + \"?videoId=\" + videoId, {})\n .then(function (response) {\n console.log(response);\n setVideoUrl(response.data.data.path);\n setVideoDate(response.data.data.updatedAt);\n setVideoTitle(response.data.data.videoTitle);\n });\n }, []);\n function downloadVideo() {\n download(apiPath + videoUrl);\n }\n return (\n
\n
\n
\n
\n \n \n \n
\n
\n

{videoTitle}

\n {moment(videoDate).format(\"dddd, MMMM Do YYYY\")}\n
\n
\n \n \n \n Download\n \n \n \n \n Download\n \n \n
\n
\n
\n
\n
\n

Share a link to your video page

\n
\n
\n Your shareable video page link\n
\n
\n \n \n Copy link\n \n \n \n
\n \n
\n
\n setCopied(true)}\n >\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n};\nexport default FeaturedSection;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { Link } from \"react-router-dom\";\nimport Slider from \"react-slick\";\nimport $ from \"jquery\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport img1 from \"./../../Assets/images/home/listings/listings1.jpg\";\nimport video1 from \"./../../Assets/images/home/listings/diverse-workplace-scenes.mp4\";\nimport update from \"./../../Assets/images/templates/update.png\";\nimport close from \"./../../Assets/images/home/close.svg\";\nimport { apigetVideo, apiPath } from \"../../Utility/Utility\";\nimport moment from \"moment\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport { FacebookShareButton } from \"react-share\";\nimport download from \"downloadjs\";\nconst FacebookShare = (props) => {\n const match = useRouteMatch(\"/share/:videoId/\");\n const {\n params: { videoId },\n } = match;\n const [videoUrl, setVideoUrl] = React.useState(\"\");\n const [videoDate, setVideoDate] = React.useState(\"\");\n const [videoTitle, setVideoTitle] = React.useState(\"\");\n const [copied, setCopied] = React.useState(false);\n React.useEffect(() => {\n axios\n .get(`${apigetVideo}` + \"?videoId=\" + videoId, {})\n .then(function (response) {\n console.log(response);\n setVideoUrl(response.data.data.path);\n setVideoDate(response.data.data.updatedAt);\n setVideoTitle(response.data.data.videoTitle);\n });\n }, []);\n function downloadVideo() {\n download(apiPath + videoUrl);\n }\n return (\n
\n
\n
\n
\n \n \n \n
\n
\n

{videoTitle}

\n {moment(videoDate).format(\"dddd, MMMM Do YYYY\")}\n
\n
\n \n \n \n Download\n \n \n \n \n Download\n \n \n
\n
\n
\n

Share to your Facebook profile

\n
    \n
  • \n If it hasn’t opened already, open\n Facebook sharing window.\n
  • \n
  • \n Log into your account..\n
  • \n
  • \n Share to your News Feed.\n
  • \n
  • \n Please note that posting to Facebook Stories will result in\n the video link being shared, not the video itself. For best\n results, download your video and post it manually to Facebook\n Stories.\n
  • \n
\n \n \n Share\n \n
\n
\n
\n
\n
\n );\n};\nexport default FacebookShare;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { Link } from \"react-router-dom\";\nimport Slider from \"react-slick\";\nimport $ from \"jquery\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport img1 from \"./../../Assets/images/home/listings/listings1.jpg\";\nimport video1 from \"./../../Assets/images/home/listings/diverse-workplace-scenes.mp4\";\nimport update from \"./../../Assets/images/templates/update.png\";\nimport close from \"./../../Assets/images/home/close.svg\";\nimport { apigetVideo, apiPath } from \"../../Utility/Utility\";\nimport moment from \"moment\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport download from \"downloadjs\";\nimport { TwitterShareButton } from \"react-share\";\nconst TwitterShare = (props) => {\n const match = useRouteMatch(\"/share/:videoId/\");\n const {\n params: { videoId },\n } = match;\n const [videoUrl, setVideoUrl] = React.useState(\"\");\n const [videoDate, setVideoDate] = React.useState(\"\");\n const [videoTitle, setVideoTitle] = React.useState(\"\");\n const [content, setContent] = React.useState(props.content);\n const [copied, setCopied] = React.useState(false);\n React.useEffect(() => {\n axios\n .get(`${apigetVideo}` + \"?videoId=\" + videoId, {})\n .then(function (response) {\n console.log(response);\n setVideoUrl(response.data.data.path);\n setVideoDate(response.data.data.updatedAt);\n setVideoTitle(response.data.data.videoTitle);\n });\n }, []);\n function downloadVideo() {\n download(apiPath + videoUrl);\n }\n function getcontent(e) {\n let charc = e.target.value;\n setContent(charc);\n }\n return (\n
\n
\n
\n
\n \n \n \n
\n
\n

{videoTitle}

\n {moment(videoDate).format(\"dddd, MMMM Do YYYY\")}\n
\n
\n \n \n \n Download\n \n \n \n \n Download\n \n \n
\n
\n
\n

Share to Twitter

\n \n \n \n Share\n \n
\n
\n
\n
\n
\n );\n};\nexport default TwitterShare;\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { Link } from \"react-router-dom\";\nimport Slider from \"react-slick\";\nimport $ from \"jquery\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport img1 from \"./../../Assets/images/home/listings/listings1.jpg\";\nimport video1 from \"./../../Assets/images/home/listings/diverse-workplace-scenes.mp4\";\nimport update from \"./../../Assets/images/templates/update.png\";\nimport close from \"./../../Assets/images/home/close.svg\";\nimport { apigetVideo, apiPath } from \"../../Utility/Utility\";\nimport moment from \"moment\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport download from \"downloadjs\";\nconst InstagramShare = (props) => {\n const match = useRouteMatch(\"/share/:videoId/\");\n const {\n params: { videoId },\n } = match;\n const [videoUrl, setVideoUrl] = React.useState(\"\");\n const [videoDate, setVideoDate] = React.useState(\"\");\n const [videoTitle, setVideoTitle] = React.useState(\"\");\n const [copied, setCopied] = React.useState(false);\n React.useEffect(() => {\n axios\n .get(`${apigetVideo}` + \"?videoId=\" + videoId, {})\n .then(function (response) {\n console.log(response);\n setVideoUrl(response.data.data.path);\n setVideoDate(response.data.data.updatedAt);\n setVideoTitle(response.data.data.videoTitle);\n });\n }, []);\n function downloadVideo() {\n download(apiPath + videoUrl);\n }\n return (\n
\n
\n
\n
\n \n \n \n
\n
\n

{videoTitle}

\n {moment(videoDate).format(\"dddd, MMMM Do YYYY\")}\n
\n
\n \n \n \n Download\n \n \n \n \n Download\n \n \n
\n
\n
\n

Share to Instagram with the Reveo app

\n
    \n
  • \n Click to download the app below and log in.\n
  • \n
  • \n Select the video you want to share.\n
  • \n
  • \n \n Tap MORE under “Share your video!” to reveal all of the\n sharing options.\n
  • \n
  • \n Send your video to Instagram.\n
  • \n
  • \n Complete your Instagram post.\n
  • \n \n
\n
\n
\n
\n
\n
\n );\n};\nexport default InstagramShare;\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React from \"react\";\r\nimport axios from \"axios\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport img1 from \"./../../Assets/images/home/listings/listings1.jpg\";\r\nimport video1 from \"./../../Assets/images/home/listings/diverse-workplace-scenes.mp4\";\r\nimport update from \"./../../Assets/images/templates/update.png\";\r\nimport close from \"./../../Assets/images/home/close.svg\";\r\nimport { apigetVideo, apiPath, apiUploadYoutube } from \"../../Utility/Utility\";\r\nimport moment from \"moment\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\r\nimport download from \"downloadjs\";\r\nconst YoutubeShare = (props) => {\r\n const match = useRouteMatch(\"/share/:videoId/\");\r\n const {\r\n params: { videoId },\r\n } = match;\r\n const [videoUrl, setVideoUrl] = React.useState(\"\");\r\n const [videoDate, setVideoDate] = React.useState(\"\");\r\n const [videoTitle, setVideoTitle] = React.useState(\"\");\r\n const [copied, setCopied] = React.useState(false);\r\n React.useEffect(() => {\r\n axios\r\n .get(`${apigetVideo}` + \"?videoId=\" + videoId, {})\r\n .then(function (response) {\r\n console.log(response);\r\n setVideoUrl(response.data.data.path);\r\n setVideoDate(response.data.data.updatedAt);\r\n setVideoTitle(response.data.data.videoTitle);\r\n });\r\n }, []);\r\n function downloadVideo() {\r\n download(apiPath + videoUrl);\r\n }\r\n const handleShare = () => {\r\n axios\r\n .post(apiUploadYoutube, {\r\n title: videoTitle,\r\n filePath: videoUrl,\r\n description: \"Reveo Video\",\r\n })\r\n .then((response) => {\r\n console.log(response.data.scopeurl);\r\n window.open(response.data.scopeurl, '_blank', 'noopener,noreferrer');\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n

{videoTitle}

\r\n {moment(videoDate).format(\"dddd, MMMM Do YYYY\")}\r\n
\r\n
\r\n \r\n \r\n \r\n Download\r\n \r\n \r\n \r\n \r\n Download\r\n \r\n \r\n
\r\n
\r\n
\r\n

Share to Youtube

\r\n
    \r\n
  • \r\n After you share from REVEO, it can take up to 20 minutes for\r\n your video to appear on YouTube. If you don’t have a YouTube\r\n account, sign up here.\r\n
  • \r\n\r\n
  • \r\n Current resolution: High Quality (1080P)\r\n
    \r\n For best results, upgrade your video to HD.\r\n
  • \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default YoutubeShare;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { Link } from \"react-router-dom\";\nimport Slider from \"react-slick\";\nimport $ from \"jquery\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport img1 from \"./../../Assets/images/home/listings/listings1.jpg\";\nimport video1 from \"./../../Assets/images/home/listings/diverse-workplace-scenes.mp4\";\nimport update from \"./../../Assets/images/templates/update.png\";\nimport close from \"./../../Assets/images/home/close.svg\";\nimport { apigetVideo, apiPath } from \"../../Utility/Utility\";\nimport moment from \"moment\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport { CopyToClipboard } from \"react-copy-to-clipboard\";\nimport download from \"downloadjs\";\nimport { EmailShareButton } from \"react-share\";\nimport { apiSendEmail } from \"../../Utility/Utility\";\n\nconst EmailShare = (props) => {\n const match = useRouteMatch(\"/share/:videoId/\");\n const tokens = localStorage.getItem('token');\n const {\n params: { videoId },\n } = match;\n const [videoUrl, setVideoUrl] = React.useState(\"\");\n const [videoDate, setVideoDate] = React.useState(\"\");\n const [videoTitle, setVideoTitle] = React.useState(\"\");\n const [content, setContent] = React.useState(props.content);\n const [subject, setSubject] = React.useState('');\n const [copied, setCopied] = React.useState(false);\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n React.useEffect(() => {\n\n axios\n .get(`${apigetVideo}` + \"?videoId=\" + videoId, {})\n .then(function (response) {\n console.log(response);\n setVideoUrl(response.data.data.path);\n setVideoDate(response.data.data.updatedAt);\n setVideoTitle(response.data.data.videoTitle);\n });\n }, []);\n function downloadVideo() {\n download(apiPath + videoUrl);\n }\n function getcontent(e) {\n let charc = e.target.value;\n setContent(charc);\n }\n function validateMultipleEmails(emailInput) {\n // Get value on emails input as a string\n var emails = emailInput;\n\n // Split string by comma into an array\n emails = emails.split(\",\");\n\n var valid = true;\n var regex = /^(([^<>()[\\]\\\\.,;:\\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,}))$/;\n\n var invalidEmails = [];\n\n for (var i = 0; i < emails.length; i++) {\n // Trim whitespaces from email address\n emails[i] = emails[i].trim();\n\n // Check email against our regex to determine if email is valid\n if (emails[i] == \"\" || !regex.test(emails[i])) {\n invalidEmails.push(emails[i]);\n }\n }\n\n\n if (invalidEmails != 0) {\n return false\n }\n\n }\n const sendEmail = (event) => {\n\n const decoded = jwt_decode(tokens);\n event.preventDefault();\n if (subject == '') {\n return false;\n }\n validateMultipleEmails(subject)\n var emails = subject.split(\",\");\n setLoader(true);\n setSuccessMessage(\"\");\n axios\n .post(apiSendEmail, {\n email: decoded.firstName,\n sentoEmail: emails,\n url: \"https://reveo.io/play/?id=\" + videoId,\n })\n .then((response) => {\n setSuccessMessage(response.data.message);\n setLoader(false);\n\n setTimeout(function () { setSuccessMessage(''); setSubject('') }, 6000);\n })\n .catch((error) => {\n console.log(error);\n\n });\n }\n return (\n
\n
\n
\n
\n \n \n \n
\n
\n

{videoTitle}

\n {moment(videoDate).format(\"dddd, MMMM Do YYYY\")}\n
\n
\n \n \n \n Download\n \n \n \n \n Download\n \n \n
\n
\n
\n

Share to Email

\n \n setSubject(e.target.value)} />\n \n\n {loader ? (\n
\n
\n \n
\n ) : null}\n\n {successMessage ? (\n \n {successMessage}\n
\n ) : null}\n
\n
\n
\n \n
\n );\n};\nexport default EmailShare;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport TopSection from \"./TopSection\";\nimport InfoSection from \"./InfoSection\";\nimport FeaturedSection from \"./FeaturedSection\";\nimport FacebookShare from \"./FacebookShare\";\nimport TwitterShare from \"./TwitterShare\";\nimport InstagramShare from \"./InstagramShare\";\nimport YoutubeShare from \"./YoutubeShare\";\nimport EmailShare from \"./EmailShare\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport Loader from \"../../Utility/Loader/Loader\";\nimport Footer from \"../../Footer\";\nimport axios from \"axios\";\nimport insta from \"./../../Assets/images/social-media/instagram.png\";\nimport Emailicon from \"./../../Assets/images/social-media/email(3).png\";\nimport youtubeicon from \"./../../Assets/images/social-media/youtube.png\";\nimport {\n FacebookShareCount,\n PinterestShareCount,\n VKShareCount,\n OKShareCount,\n RedditShareCount,\n TumblrShareCount,\n HatenaShareCount,\n FacebookShareButton,\n FacebookMessengerShareButton,\n FacebookMessengerIcon,\n LinkedinShareButton,\n TwitterShareButton,\n PinterestShareButton,\n VKShareButton,\n OKShareButton,\n TelegramShareButton,\n WhatsappShareButton,\n RedditShareButton,\n EmailShareButton,\n TumblrShareButton,\n LivejournalShareButton,\n MailruShareButton,\n ViberShareButton,\n WorkplaceShareButton,\n LineShareButton,\n WeiboShareButton,\n PocketShareButton,\n InstapaperShareButton,\n HatenaShareButton,\n FacebookIcon,\n TwitterIcon,\n LinkedinIcon,\n PinterestIcon,\n VKIcon,\n OKIcon,\n TelegramIcon,\n WhatsappIcon,\n RedditIcon,\n TumblrIcon,\n MailruIcon,\n EmailIcon,\n LivejournalIcon,\n ViberIcon,\n WorkplaceIcon,\n LineIcon,\n PocketIcon,\n InstapaperIcon,\n WeiboIcon,\n HatenaIcon,\n} from \"react-share\";\nimport {\n apiGetTemplateCategories,\n apiGetTemplateCategory,\n apiPath,\n} from \"../../Utility/Utility\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport LinkedinShare from \"./LinkedinShare\";\nconst SharePage = () => {\n const [data, setData] = React.useState([]);\n const [processing, setProcessing] = React.useState(false);\n const [dataCategory, setDataCategory] = React.useState([]);\n const [categoyId, setCategoyId] = React.useState(\"\");\n const [activeId, setActiveId] = React.useState(0);\n const match = useRouteMatch(\"/share/:videoId/\");\n const {\n params: { videoId },\n } = match;\n React.useEffect(() => {\n axios.get(`${apiGetTemplateCategories}`, {}).then(function (response) {\n // console.log(response.data.templates);\n setData(response.data.templates);\n });\n }, []);\n const shareFb = () => {\n window.FB.ui(\n {\n display: \"popup\",\n method: \"share\",\n href: \"https://reveo.io/play/?id=\" + videoId,\n },\n function (response) { }\n );\n };\n return (\n
\n \n
\n \n \n
\n
\n
\n {/* */}\n

Social share

\n
    \n
  • \n
    setActiveId(1)}>\n {/* \n \n Facebook\n */}\n \n \n \n \n Facebook Share\n
    \n
  • \n
  • \n
    setActiveId(2)}>\n {/* \n \n Whatsapp\n {\" \"} */}\n \"user\"\n Instagram\n
    \n {/* */}\n
  • \n
  • \n
    setActiveId(3)}>\n {/* \n \n Twitter\n {\" \"} */}\n \n \n \n \n Twitter\n
    \n {/* */}\n
  • \n
  • \n
    setActiveId(5)}>\n \"user\"\n Youtube\n
    \n {/* */}\n
  • \n\n {/*
  • \n
    \n \n \n Pinterest\n {\" \"}\n
    \n \n
  • */}\n {/*
  • \n
    setActiveId(4)}>\n \n Linkedin\n
    */}\n {/* */}\n {/*
  • */}\n
  • \n
    setActiveId(6)}>\n \"user\"\n Email\n
    \n {/* */}\n
  • \n
\n
\n
\n

Share Your Video

\n {activeId == 0 ? : null}\n {activeId == 1 ? : null}\n {activeId == 2 ? : null}\n {activeId == 3 ? : null}\n {/* {activeId == 4 ? : null} */}\n {activeId == 5 ? : null}\n {activeId == 6 ? : null}\n
\n
\n
\n
\n
\n
\n );\n};\nexport default SharePage;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nconst TopSection = (props) => {\n return (\n
\n
\n
\n \n
\n
\n
\n );\n};\nexport default TopSection;\n","\nimport React from 'react';\nimport { Link } from 'react-router-dom';\nconst InfoSection = () => {\n return (\n
\n
\n
\n
\n
\n

Welcome to the Reveo

\n

Start fast by editing a video templates. Or hit “Templates tab” above and start editing your video

\n
\n
\n
\n
\n

How to make your first video amazing

\n

Tutorial video

\n
\n
\n
\n
\n
\n
\n
\n );\n}\nexport default InfoSection","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport TopSection from \"./TopSection\";\nimport InfoSection from \"./InfoSection\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport Loader from \"../../Utility/Loader/Loader\";\nimport Footer from \"../../Footer\";\nimport axios from \"axios\";\n\nimport {\n apiGetTemplateCategories,\n apiGetTemplateCategory,\n apiPath,\n} from \"../../Utility/Utility\";\nimport { useRouteMatch } from \"react-router-dom\";\nconst ThankyouPage = () => {\n return (\n
\n \n
\n \n
\n
\n
\n

Success! Order successfully placed

\n \n
\n
\n
\n
\n
\n
\n );\n};\nexport default ThankyouPage;\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nconst TopSection = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default TopSection;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport TopSection from \"./TopSection\";\r\nimport InfoSection from \"./InfoSection\";\r\nimport SiteHeader from \"../../Header/HeaderUser\";\r\nimport Loader from \"../../Utility/Loader/Loader\";\r\nimport Footer from \"../../Footer\";\r\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\r\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\r\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\r\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\r\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\r\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\r\nimport reveo_TempLogo from \"./../../Assets/images/templates/reveo_TempLogo.png\";\r\nimport axios from \"axios\";\r\n\r\nimport {\r\n apiGetTemplateCategories,\r\n apiGetTemplateCategory,\r\n apiPath,\r\n} from \"../../Utility/Utility\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nconst SuccessPage = () => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n {/*
\r\n
\r\n
\r\n

Success! Video successfully uploaded

\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

Video is successfully uploaded

\r\n
\r\n
You’ve successfully uploaded your video to YouTube
\r\n Exported videos\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \"triangle\"\r\n \r\n \r\n \r\n \"triangle\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default SuccessPage;\r\n","import React from 'react'\nimport { Link } from \"react-router-dom\";\nimport axios from \"axios\"\nimport Cookies from 'universal-cookie';\nimport { Redirect } from 'react-router-dom';\nimport { schema, schemaFname, apiRegister, schemaSubject, schemaHelp, schemaMessage, apiSupportTicket } from '../../Utility/Utility';\nimport UserIcon from './../../Assets/images/signup/support-book.svg';\nconst Support = () => {\n const [firstName, setFname] = React.useState('');\n const [checkFname, setcheckFname] = React.useState(false);\n const [email, setEmail] = React.useState('');\n const [checkEmail, setcheckEmail] = React.useState(false);\n\n const [subject, setSubject] = React.useState('');\n const [checkSubject, setcheckSubject] = React.useState(false);\n\n const [help, setHelp] = React.useState('');\n const [checkHelp, setcheckHelp] = React.useState(false);\n\n const [message, setMessage] = React.useState('');\n const [checkMessage, setcheckMessage] = React.useState(false);\n\n const [successMessage, setSuccessMessage] = React.useState('');\n const [errorMessage, setErrorMessage] = React.useState('');\n const [loader, setLoader] = React.useState(false);\n const [redirectPath, setRedirectPath] = React.useState(false);\n /**\n * Set First Name\n * @param evt get the value of the field.\n * @returns na\n */\n function setUserFname(evt) {\n if (evt === \"\") {\n setcheckFname(true);\n } else {\n setcheckFname(false);\n }\n setFname(evt);\n }\n /**\n * Set Email \n * @param evt get the value of the field.\n * @returns na\n */\n function setUserEmail(evt) {\n if (evt === \"\") {\n setcheckEmail(true);\n } else {\n setcheckEmail(false);\n }\n setEmail(evt);\n }\n\n function setUserHelp(evt) {\n if (evt === \"\") {\n setcheckHelp(true);\n } else {\n setcheckHelp(false);\n }\n setHelp(evt);\n }\n\n function setUserSubject(evt) {\n if (evt === \"\") {\n setcheckSubject(true);\n } else {\n setcheckSubject(false);\n }\n setSubject(evt);\n }\n\n function setUserMessage(evt) {\n if (evt === \"\") {\n setcheckMessage(true);\n } else {\n setcheckMessage(false);\n }\n setMessage(evt);\n }\nfunction resetForm(){\n setFname('');\n setEmail('');\n setSubject('');\n setMessage('');\n setHelp('');\n}\n\n /**\n * Submit handler \n * @param event use for prevent the default functionality of the event\n * @returns na\n */\n function handleSubmit(event) {\n console.log('here');\n event.preventDefault();\n setSuccessMessage('');\n setErrorMessage('');\n const resultFname = schemaFname.validate({ firstname: firstName });\n const resultEmail = schema.validate({ email: email });\n\n const resultSubject = schemaSubject.validate({ subject: subject });\n const resultHelp = schemaHelp.validate({ help: help });\n const resultMessage = schemaMessage.validate({ message: message });\n\n if (resultFname.error) {\n setcheckFname(true);\n return false;\n }\n if (resultEmail.error) {\n setcheckEmail(true);\n return false;\n }\n if (resultSubject.error) {\n setcheckSubject(true);\n return false;\n }\n\n if (resultHelp.error) {\n setcheckHelp(true);\n return false;\n }\n\n if (resultMessage.error) {\n setcheckMessage(true);\n return false;\n }\n setLoader(true);\n\n // API Call \n axios.post(apiSupportTicket, {\n fullname: firstName,\n email: email,\n subject: subject,\n help: help,\n message:message\n }).then((response) => {\n setSuccessMessage(response.data.message);\n setLoader(false);\n resetForm()\n }).catch((error) => {\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n }\n return (\n
\n
\n
\n \"Key\n

Submit a Ticket

\n

\n Submit a ticket and get your issue resolved asap.\n

\n
\n
\n
\n \n setUserFname(e.currentTarget.value)} className=\"form-control\" placeholder=\"Full name\" />\n {checkFname === true ? '*Enter first name' : ''} \n
\n
\n
\n
\n \n setUserEmail(e.currentTarget.value)} className=\"form-control\" placeholder=\"Email\" />\n {checkEmail === true ? '*Enter valid email' : ''} \n
\n
\n
\n
\n \n setUserSubject(e.currentTarget.value)} className=\"form-control\" placeholder=\"Subject\" />\n {checkSubject === true ? '*Enter Subject' : ''} \n
\n
\n
\n
\n \n setUserHelp(e.currentTarget.value)} className=\"form-control\" placeholder=\"\" />\n {checkHelp === true ? '*What can we help you with?' : ''} \n
\n
\n
\n
\n \n \n {checkMessage === true ? '*Enter your message' : ''} \n
\n
\n
\n
\n \n {loader ? (

) : null}\n\n {successMessage ? (
{successMessage}
) : null}\n {errorMessage ? (\n
{errorMessage}
\n ) : null}\n
\n
\n
\n
\n
\n
\n );\n}\nexport default Support","import React from 'react';\nimport Support from './Support';\nimport Header from \"../../Header\";\nimport Footer from \"../../Footer\"\nconst SupportPage = () => {\n return (\n
\n
\n \n
\n
\n )\n}\nexport default SupportPage","import React from 'react'\nimport { Link } from \"react-router-dom\";\nimport axios from \"axios\"\nimport Cookies from 'universal-cookie';\nimport { Redirect } from 'react-router-dom';\nimport { schema, schemaFname, apiRegister, schemaSubject, schemaHelp, schemaMessage, apiSupportTicket } from '../../Utility/Utility';\nimport UserIcon from './../../Assets/images/signup/support-book.svg';\nconst Privacy = () => {\n const [firstName, setFname] = React.useState('');\n const [checkFname, setcheckFname] = React.useState(false);\n const [email, setEmail] = React.useState('');\n const [checkEmail, setcheckEmail] = React.useState(false);\n\n const [subject, setSubject] = React.useState('');\n const [checkSubject, setcheckSubject] = React.useState(false);\n\n const [help, setHelp] = React.useState('');\n const [checkHelp, setcheckHelp] = React.useState(false);\n\n const [message, setMessage] = React.useState('');\n const [checkMessage, setcheckMessage] = React.useState(false);\n\n const [successMessage, setSuccessMessage] = React.useState('');\n const [errorMessage, setErrorMessage] = React.useState('');\n const [loader, setLoader] = React.useState(false);\n const [redirectPath, setRedirectPath] = React.useState(false);\n /**\n * Set First Name\n * @param evt get the value of the field.\n * @returns na\n */\n function setUserFname(evt) {\n if (evt === \"\") {\n setcheckFname(true);\n } else {\n setcheckFname(false);\n }\n setFname(evt);\n }\n /**\n * Set Email \n * @param evt get the value of the field.\n * @returns na\n */\n function setUserEmail(evt) {\n if (evt === \"\") {\n setcheckEmail(true);\n } else {\n setcheckEmail(false);\n }\n setEmail(evt);\n }\n\n function setUserHelp(evt) {\n if (evt === \"\") {\n setcheckHelp(true);\n } else {\n setcheckHelp(false);\n }\n setHelp(evt);\n }\n\n function setUserSubject(evt) {\n if (evt === \"\") {\n setcheckSubject(true);\n } else {\n setcheckSubject(false);\n }\n setSubject(evt);\n }\n\n function setUserMessage(evt) {\n if (evt === \"\") {\n setcheckMessage(true);\n } else {\n setcheckMessage(false);\n }\n setMessage(evt);\n }\nfunction resetForm(){\n setFname('');\n setEmail('');\n setSubject('');\n setMessage('');\n setHelp('');\n}\n\n /**\n * Submit handler \n * @param event use for prevent the default functionality of the event\n * @returns na\n */\n function handleSubmit(event) {\n console.log('here');\n event.preventDefault();\n setSuccessMessage('');\n setErrorMessage('');\n const resultFname = schemaFname.validate({ firstname: firstName });\n const resultEmail = schema.validate({ email: email });\n\n const resultSubject = schemaSubject.validate({ subject: subject });\n const resultHelp = schemaHelp.validate({ help: help });\n const resultMessage = schemaMessage.validate({ message: message });\n\n if (resultFname.error) {\n setcheckFname(true);\n return false;\n }\n if (resultEmail.error) {\n setcheckEmail(true);\n return false;\n }\n if (resultSubject.error) {\n setcheckSubject(true);\n return false;\n }\n\n if (resultHelp.error) {\n setcheckHelp(true);\n return false;\n }\n\n if (resultMessage.error) {\n setcheckMessage(true);\n return false;\n }\n setLoader(true);\n\n // API Call \n axios.post(apiSupportTicket, {\n fullname: firstName,\n email: email,\n subject: subject,\n help: help,\n message:message\n }).then((response) => {\n setSuccessMessage(response.data.message);\n setLoader(false);\n resetForm()\n }).catch((error) => {\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n }\n return (\n
\n
\n
\n \"Key\n

Privacy Policy

\n \n
\n
\n
\n \n setUserFname(e.currentTarget.value)} className=\"form-control\" placeholder=\"Full name\" />\n {checkFname === true ? '*Enter first name' : ''} \n
\n
\n
\n
\n \n setUserEmail(e.currentTarget.value)} className=\"form-control\" placeholder=\"Email\" />\n {checkEmail === true ? '*Enter valid email' : ''} \n
\n
\n
\n
\n \n setUserSubject(e.currentTarget.value)} className=\"form-control\" placeholder=\"Subject\" />\n {checkSubject === true ? '*Enter Subject' : ''} \n
\n
\n
\n
\n \n setUserHelp(e.currentTarget.value)} className=\"form-control\" placeholder=\"\" />\n {checkHelp === true ? '*What can we help you with?' : ''} \n
\n
\n
\n
\n \n \n {checkMessage === true ? '*Enter your message' : ''} \n
\n
\n
\n
\n \n {loader ? (

) : null}\n\n {successMessage ? (
{successMessage}
) : null}\n {errorMessage ? (\n
{errorMessage}
\n ) : null}\n
\n
\n
\n
\n
\n
\n );\n}\nexport default Privacy","import React from 'react';\nimport Privacy from './Privacy';\nimport Header from \"../../Header\";\nimport Footer from \"../../Footer\"\nconst PrivacyPage = () => {\n return (\n
\n
\n \n
\n
\n )\n}\nexport default PrivacyPage","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport \"react-phone-number-input/style.css\";\r\nimport PhoneInput from \"react-phone-number-input\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n schema,\r\n schemaFname,\r\n schemaLname,\r\n schemaPassword,\r\n schemaCpass,\r\n schemaPhone,\r\n apiRegister,\r\n apiLogin,\r\n apiSocialLogin,\r\n} from \"./../../Utility/Utility\";\r\nimport { GoogleOAuthProvider, GoogleLogin } from '@react-oauth/google';\r\nimport FacebookLogin from \"react-facebook-login/dist/facebook-login-render-props\";\r\n//import { GoogleLogin } from \"react-google-login\";\r\nimport logo from \"./../../Assets/images/homeV3/FooterLogo.png\";\r\nimport emailicon from \"./../../Assets/images/homeV3/email.png\";\r\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\r\nimport avatar from \"./../../Assets/images/homeV3/avatar.png\";\r\nimport phones from \"./../../Assets/images/homeV3/phone.png\";\r\nimport facebook from \"./../../Assets/images/homeV3/facebook.png\";\r\nimport google from \"./../../Assets/images/homeV3/google.png\";\r\nimport SiteFooter from \"../../Footer/Footer\";\r\nimport SiteHeader from \"../../Header/Header\";\r\nconst Signup = () => {\r\n let history = useHistory();\r\n const [firstName, setFname] = React.useState(\"\");\r\n const [checkFname, setcheckFname] = React.useState(false);\r\n const [email, setEmail] = React.useState(\"\");\r\n const [checkEmail, setcheckEmail] = React.useState(false);\r\n const [phone, setPhone] = React.useState(\"\");\r\n const [checkPhone, setCheckPhone] = React.useState(false);\r\n const [password, setPassword] = React.useState(\"\");\r\n const [checkPassword, setcheckPassword] = React.useState(false);\r\n const [confirmPassword, setConfirmPassword] = React.useState(\"\");\r\n const [checkConfirmPassword, setcheckConfirmPassword] = React.useState(false);\r\n const [successMessage, setSuccessMessage] = React.useState(\"\");\r\n const [errorMessage, setErrorMessage] = React.useState(\"\");\r\n const [loader, setLoader] = React.useState(false);\r\n const [redirectPath, setRedirectPath] = React.useState(false);\r\n\r\n /**\r\n * Set First Name\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setUserFname(evt) {\r\n if (evt === \"\") {\r\n setcheckFname(true);\r\n } else {\r\n setcheckFname(false);\r\n }\r\n setFname(evt);\r\n }\r\n\r\n /**\r\n * Set Email\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setUserEmail(evt) {\r\n if (evt === \"\") {\r\n setcheckEmail(true);\r\n } else {\r\n setcheckEmail(false);\r\n }\r\n setEmail(evt);\r\n }\r\n /**\r\n * Set Password\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setUserPassword(evt) {\r\n if (evt === \"\") {\r\n setcheckPassword(true);\r\n } else {\r\n setcheckPassword(false);\r\n }\r\n setPassword(evt);\r\n }\r\n /**\r\n * Set Confirm Password\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setUserConfirmpassword(evt) {\r\n if (evt === \"\") {\r\n setcheckConfirmPassword(true);\r\n } else {\r\n setcheckConfirmPassword(false);\r\n }\r\n setConfirmPassword(evt);\r\n }\r\n /**\r\n * Set Phone Number\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setUserPhone(evt) {\r\n if (evt === \"\") {\r\n setCheckPhone(true);\r\n } else {\r\n setCheckPhone(false);\r\n }\r\n setPhone(evt);\r\n }\r\n\r\n /**\r\n * Set Redirect after login\r\n * @returns redirect url\r\n */\r\n function setRedirect() {\r\n setRedirectPath(true);\r\n }\r\n function renderRedirect() {\r\n if (redirectPath) {\r\n return ;\r\n }\r\n }\r\n /**\r\n * Submit handler\r\n * @param event use for prevent the default functionality of the event\r\n * @returns na\r\n */\r\n function handleSubmit(event) {\r\n console.log(\"here\");\r\n event.preventDefault();\r\n setSuccessMessage(\"\");\r\n setErrorMessage(\"\");\r\n const resultFname = schemaFname.validate({ firstname: firstName });\r\n const resultEmail = schema.validate({ email: email });\r\n const resultpassword = schemaPassword.validate({ password: password });\r\n const resultconfirmpassword = schemaCpass.validate({\r\n password: password,\r\n confirmpassword: confirmPassword,\r\n });\r\n const resultphone = schemaPhone.validate({ phone: phone });\r\n\r\n if (resultFname.error) {\r\n setcheckFname(true);\r\n return false;\r\n }\r\n\r\n if (resultEmail.error) {\r\n setcheckEmail(true);\r\n return false;\r\n }\r\n // if (resultphone.error) {\r\n // setCheckPhone(true);\r\n // return false;\r\n // }\r\n if (resultpassword.error) {\r\n setcheckPassword(true);\r\n return false;\r\n }\r\n if (resultconfirmpassword.error) {\r\n setcheckConfirmPassword(true);\r\n return false;\r\n }\r\n setLoader(true);\r\n\r\n // API Call\r\n axios\r\n .post(apiRegister, {\r\n firstName: firstName,\r\n password: password,\r\n confirmPassword: confirmPassword,\r\n email: email,\r\n phone: phone,\r\n })\r\n .then((response) => {\r\n setSuccessMessage(response.data.message);\r\n setLoader(false);\r\n history.push('/signup-success')\r\n // API Call\r\n // axios.post(apiLogin, {\r\n // email: email,\r\n // password: password,\r\n // }).then((response) => {\r\n // setSuccessMessage(response.data.message);\r\n // // const cookies = new Cookies();\r\n // // cookies.set('token', response.data.token, { path: '/' });\r\n // // cookies.set('userRole', response.data.user.userRole, { path: '/' });\r\n // // setLoader(false);\r\n // // setRedirect();\r\n // // window.location.reload();\r\n // }).catch((error) => {\r\n // setErrorMessage(error.response.data.message);\r\n // setLoader(false);\r\n // });\r\n })\r\n .catch((error) => {\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n });\r\n }\r\n const responseFacebook = (response) => {\r\n console.log(response);\r\n if (response != \"\") {\r\n axios\r\n .post(apiSocialLogin, {\r\n email: response.email,\r\n socialLoginId: response.id,\r\n loginType: response.graphDomain,\r\n password: \"reveoSocialUser\",\r\n firstName: response.name,\r\n profileImage: response.picture.data.url,\r\n })\r\n .then((response) => {\r\n setSuccessMessage(response.data.message);\r\n const cookies = new Cookies();\r\n cookies.set(\"token\", response.data.token, { path: \"/\" });\r\n cookies.set(\"userRole\", response.data.user.userRole, { path: \"/\" });\r\n setLoader(false);\r\n setRedirect();\r\n window.location.reload();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n });\r\n }\r\n };\r\n const responseGoogle = (response) => {\r\n if (!response.error) {\r\n console.log(response.credential);\r\n var token = response.credential;\r\n var decoded = jwt_decode(token);\r\n console.log(decoded.email);\r\n if (decoded) {\r\n axios\r\n .post(apiSocialLogin, {\r\n email: decoded.email,\r\n socialLoginId: decoded.sub,\r\n loginType: \"google\",\r\n password: \"reveoSocialUser\",\r\n firstName: decoded.given_name + ' ' + decoded.family_name,\r\n profileImage: decoded.picture\r\n })\r\n .then((response) => {\r\n setSuccessMessage(response.data.message);\r\n const cookies = new Cookies();\r\n cookies.set(\"token\", response.data.token, { path: \"/\" });\r\n cookies.set(\"userRole\", response.data.user.userRole, { path: \"/\" });\r\n setLoader(false);\r\n setRedirect();\r\n window.location.reload();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n });\r\n }\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n

Sign IN

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \"Reveo\"\r\n \r\n
Welcome back to Reveo
\r\n

Create your personalised animated video

\r\n {/*

Already have an account?

\r\n

\r\n Welcome back! Come in and create your
next video.\r\n

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

Create your account

\r\n
\r\n
\r\n
\r\n {/* */}\r\n {/* \"email\" */}\r\n setUserFname(e.currentTarget.value)}\r\n className=\"form-control\"\r\n placeholder=\"Full name\"\r\n />\r\n \r\n {checkFname === true ? \"*Enter first name\" : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* \r\n \"email\" */}\r\n setUserEmail(e.currentTarget.value)}\r\n className=\"form-control\"\r\n placeholder=\"Email\"\r\n />\r\n \r\n {checkEmail === true ? \"*Enter valid email\" : \"\"}{\" \"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n {/* \"phone\" */}\r\n {/* setUserPhone(e.currentTarget.value)}\r\n className=\"form-control\"\r\n // placeholder=\"Phone\"\r\n /> */}\r\n \r\n \r\n {\" \"}\r\n {checkPhone === true ? \"*Enter phone number\" : \"\"}{\" \"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* \r\n \"email\" */}\r\n setUserPassword(e.currentTarget.value)}\r\n className=\"form-control\"\r\n placeholder=\"Password\"\r\n />\r\n \r\n {\" \"}\r\n {checkPassword\r\n ? \"*Password must be at least 8 characters long\"\r\n : \"\"}{\" \"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* \r\n \"email\" */}\r\n \r\n setUserConfirmpassword(e.currentTarget.value)\r\n }\r\n className=\"form-control\"\r\n placeholder=\"Confirm Password\"\r\n />\r\n \r\n {\" \"}\r\n {checkConfirmPassword ? \"*Password does not matched\" : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {loader ? (\r\n
\r\n
\r\n \r\n
\r\n ) : null}\r\n\r\n {successMessage ? (\r\n \r\n {successMessage}\r\n
\r\n ) : null}\r\n {errorMessage ? (\r\n \r\n {errorMessage}\r\n
\r\n ) : null}\r\n
\r\n
\r\n {/*
\r\n
\r\n

\r\n Already have account?\r\n \r\n {\" \"}\r\n Signin\r\n \r\n

\r\n \r\n
\r\n
*/}\r\n {renderRedirect()}\r\n \r\n
\r\n

or Sign up with

\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {/* (\r\n \r\n \"google\"\r\n \r\n )}\r\n buttonText=\"Login\"\r\n onSuccess={responseGoogle}\r\n onFailure={responseGoogle}\r\n cookiePolicy={\"single_host_origin\"}\r\n /> */}\r\n \r\n
\r\n {\r\n responseGoogle(credentialResponse)\r\n // console.log(credentialResponse);\r\n }}\r\n onError={() => {\r\n console.log('Login Failed');\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n Sign in\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default Signup;\r\n","import React from 'react';\nimport Signup from './Signup';\nimport Header from \"./../../Header\";\nimport Footer from \"./../../Footer\"\nconst SignupPage = () => {\n return (\n
\n \n
\n )\n}\nexport default SignupPage","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport SiteFooter from \"../../Footer/Footer\";\r\nimport SiteHeader from \"../../Header/Header\";\r\nimport {\r\n schema,\r\n schemaPassword,\r\n apiLogin,\r\n apiSocialLogin,\r\n} from \"./../../Utility/Utility\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport logo from \"./../../Assets/images/homeV3/FooterLogo.png\";\r\nimport emailicon from \"./../../Assets/images/homeV3/email.png\";\r\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\r\nimport facebook from \"./../../Assets/images/homeV3/facebook.png\";\r\nimport google from \"./../../Assets/images/homeV3/google.png\";\r\nimport FacebookLogin from \"react-facebook-login/dist/facebook-login-render-props\";\r\n//import { GoogleLogin } from \"react-google-login\";\r\nimport { GoogleOAuthProvider, GoogleLogin } from '@react-oauth/google';\r\nconst Login = () => {\r\n const [email, setEmail] = React.useState(\"\");\r\n const [checkEmail, setcheckEmail] = React.useState(false);\r\n const [password, setPassword] = React.useState(\"\");\r\n const [checkPassword, setcheckPassword] = React.useState(false);\r\n const [successMessage, setSuccessMessage] = React.useState(\"\");\r\n const [errorMessage, setErrorMessage] = React.useState(\"\");\r\n const [redirectPath, setRedirectPath] = React.useState(false);\r\n const [loader, setLoader] = React.useState(false);\r\n /**\r\n * Set Email\r\n * @param {string} evt get the value of the field.\r\n * @returns na\r\n */\r\n function setUserEmail(evt) {\r\n if (evt === \"\") {\r\n setcheckEmail(true);\r\n } else {\r\n setcheckEmail(false);\r\n }\r\n setEmail(evt);\r\n }\r\n /**\r\n * Set Password\r\n * @param {string} evt get the value of the field.\r\n * @returns na\r\n */\r\n function setUserPassword(evt) {\r\n if (evt === \"\") {\r\n setcheckPassword(true);\r\n } else {\r\n setcheckPassword(false);\r\n }\r\n setPassword(evt);\r\n }\r\n /**\r\n * Set Redirect after login\r\n * @returns redirect url\r\n */\r\n function setRedirect() {\r\n setRedirectPath(true);\r\n }\r\n function renderRedirect() {\r\n if (redirectPath) {\r\n return ;\r\n }\r\n }\r\n\r\n /**\r\n * Submit handler\r\n * @param event use for prevent the default functionality of the event\r\n * @returns na\r\n */\r\n function handleSubmit(event) {\r\n event.preventDefault();\r\n setSuccessMessage(\"\");\r\n setErrorMessage(\"\");\r\n const resultEmail = schema.validate({ email: email });\r\n const resultpassword = schemaPassword.validate({ password: password });\r\n\r\n if (resultEmail.error) {\r\n setcheckEmail(true);\r\n return false;\r\n }\r\n\r\n if (resultpassword.error) {\r\n setcheckPassword(true);\r\n return false;\r\n }\r\n setLoader(true);\r\n // API Call\r\n axios\r\n .post(apiLogin, {\r\n email: email,\r\n password: password,\r\n })\r\n .then((response) => {\r\n setSuccessMessage(response.data.message);\r\n const cookies = new Cookies();\r\n cookies.set(\"token\", response.data.token, { path: \"/\" });\r\n cookies.set(\"userRole\", response.data.user.userRole, { path: \"/\" });\r\n\r\n localStorage.setItem('token', response.data.token);\r\n setLoader(false);\r\n setRedirect();\r\n window.location.reload();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n });\r\n }\r\n const responseFacebook = (response) => {\r\n console.log(response);\r\n if (response != \"\") {\r\n axios\r\n .post(apiSocialLogin, {\r\n email: response.email,\r\n socialLoginId: response.id,\r\n loginType: response.graphDomain,\r\n password: \"reveoSocialUser\",\r\n firstName: response.name,\r\n profileImage: response.picture.data.url,\r\n })\r\n .then((response) => {\r\n setSuccessMessage(response.data.message);\r\n const cookies = new Cookies();\r\n cookies.set(\"token\", response.data.token, { path: \"/\" });\r\n cookies.set(\"userRole\", response.data.user.userRole, { path: \"/\" });\r\n\r\n localStorage.setItem('token', response.data.token);\r\n setLoader(false);\r\n setRedirect();\r\n window.location.reload();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n });\r\n }\r\n };\r\n //const responseGoogle = (response) => {\r\n // console.log(response);\r\n // if (response != \"\") {\r\n // axios\r\n // .post(apiSocialLogin, {\r\n // email: response.profileObj.email,\r\n // socialLoginId: response.googleId,\r\n // loginType: 'google',\r\n // password: \"reveoSocialUser\",\r\n // firstName: response.profileObj.name,\r\n // profileImage: response.profileObj.imageUrl,\r\n // })\r\n // .then((response) => {\r\n // setSuccessMessage(response.data.message);\r\n // const cookies = new Cookies();\r\n // cookies.set(\"token\", response.data.token, { path: \"/\" });\r\n // cookies.set(\"userRole\", response.data.user.userRole, { path: \"/\" });\r\n // setLoader(false);\r\n // setRedirect();\r\n // window.location.reload();\r\n // })\r\n // .catch((error) => {\r\n // console.log(error);\r\n // setErrorMessage(error.response.data.message);\r\n // setLoader(false);\r\n // });\r\n // }\r\n //};\r\n const responseGoogle = (response) => {\r\n if (!response.error) {\r\n console.log(response);\r\n var token = response.credential;\r\n if (token) {\r\n var decoded = jwt_decode(token);\r\n\r\n console.log(decoded.email);\r\n if (decoded) {\r\n axios\r\n .post(apiSocialLogin, {\r\n email: decoded.email,\r\n socialLoginId: decoded.sub,\r\n loginType: \"google\",\r\n password: \"reveoSocialUser\",\r\n firstName: decoded.given_name + ' ' + decoded.family_name,\r\n profileImage: decoded.picture\r\n })\r\n .then((response) => {\r\n setSuccessMessage(response.data.message);\r\n const cookies = new Cookies();\r\n cookies.set(\"token\", response.data.token, { path: \"/\" });\r\n cookies.set(\"userRole\", response.data.user.userRole, { path: \"/\" });\r\n\r\n localStorage.setItem('token', response.data.token);\r\n setLoader(false);\r\n setRedirect();\r\n window.location.reload();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n });\r\n }\r\n }\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n

Sign IN

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \"Reveo\"\r\n \r\n {/*

Don't have an account?

*/}\r\n
Welcome back to Reveo
\r\n

Create your personalised animated video

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

Login to Reveo

\r\n
\r\n
\r\n
\r\n {/* */}\r\n {/* \"email\" */}\r\n setUserEmail(e.currentTarget.value)}\r\n className=\"form-control\"\r\n placeholder=\"Email\"\r\n />\r\n \r\n {checkEmail === true ? \"*Enter valid email\" : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n {/* \"email\" */}\r\n setUserPassword(e.currentTarget.value)}\r\n className=\"form-control\"\r\n placeholder=\"Password\"\r\n />\r\n \r\n {\" \"}\r\n {checkPassword\r\n ? \"*Enter password / must be 8 character long\"\r\n : \"\"}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Forget password?\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {loader ? (\r\n
\r\n
\r\n \r\n
\r\n ) : null}\r\n\r\n {successMessage ? (\r\n \r\n {successMessage}\r\n
\r\n ) : null}\r\n {errorMessage ? (\r\n \r\n {errorMessage}\r\n
\r\n ) : null}\r\n {renderRedirect()}\r\n
\r\n
\r\n \r\n
\r\n

or Sign in with

\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {/* (\r\n \r\n \"google\"\r\n \r\n )}\r\n buttonText=\"Login\"\r\n onSuccess={responseGoogle}\r\n onFailure={responseGoogle}\r\n cookiePolicy={\"single_host_origin\"}\r\n /> */}\r\n \r\n
\r\n {\r\n responseGoogle(credentialResponse)\r\n // console.log(credentialResponse);\r\n }}\r\n onError={() => {\r\n console.log('Login Failed');\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n\r\n Sign up\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default Login;\r\n","import React from 'react';\nimport Login from './Login';\nimport Header from \"./../../Header\";\nimport Footer from \"./../../Footer\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport { useHistory } from 'react-router-dom';\nconst LoginPage = () => {\n const history = useHistory();\n const cookies = new Cookies();\n const tokens = localStorage.getItem('token');\n React.useEffect(() => {\n if (tokens != null) {\n history.push('/home');\n }\n }, []);\n return (
)\n}\nexport default LoginPage","import React from 'react'\nimport { Link } from \"react-router-dom\";\nimport axios from \"axios\"\nimport { schema, apiResetPassword } from './../../Utility/Utility';\nimport forgotPassword from './../../Assets/images/signup/forgot-password-send.svg';\nconst Reset = () => {\n const [email, setEmail] = React.useState('');\n const [checkEmail, setcheckEmail] = React.useState(false);\n const [successMessage, setSuccessMessage] = React.useState('');\n const [errorMessage, setErrorMessage] = React.useState('');\n const [loader, setLoader] = React.useState(false);\n\n\n /**\n * Set Email \n * @param evt get the value of the field.\n * @returns na\n */\n function setUserEmail(evt) {\n if (evt === \"\") {\n setcheckEmail(true);\n } else {\n setcheckEmail(false);\n }\n setEmail(evt);\n }\n\n /**\n * Submit handler \n * @param event use for prevent the default functionality of the event\n * @returns na\n */\n function handleSubmit(event) {\n event.preventDefault();\n setSuccessMessage('');\n setErrorMessage('');\n const resultEmail = schema.validate({ email: email });\n if (resultEmail.error) {\n setcheckEmail(true);\n return false;\n }\n setLoader(true);\n\n // API Call \n axios.post(apiResetPassword, {\n email: email,\n }).then((response) => {\n setSuccessMessage(response.data.message);\n setLoader(false);\n }).catch((error) => {\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n }\n return (\n
\n
\n
\n \"Key\n

Reset your password

\n

\n Enter your email below to receive a new password\n

\n
\n
\n
\n \n setUserEmail(e.currentTarget.value)} className=\"form-control\" placeholder=\"Your email address\" />\n {checkEmail === true ? '*Enter valid email' : ''} \n
\n
\n
\n
\n \n {loader ? (

) : null}\n\n {successMessage ? (
{successMessage}
) : null}\n {errorMessage ? (\n
{errorMessage}
\n ) : null}\n
\n
\n
Go Back
\n
\n
\n
\n
\n );\n}\nexport default Reset","import React from 'react';\nimport Reset from './Reset';\nimport Header from \"./../../Header\";\nimport Footer from \"./../../Footer\";\n const ResetPage = () => {\n return (
)\n}\n\nexport default ResetPage","import React from 'react'\nimport axios from \"axios\"\nimport { Redirect } from 'react-router-dom';\nimport Header from \"./../../Header\";\nimport Footer from \"./../../Footer\";\nimport { apiResetPassword, apiVerificationToken } from './../../Utility/Utility';\nimport forgotPassword from './../../Assets/images/signup/forgot-password-send.svg';\nconst TokenVerification = () => {\n const [successMessage, setSuccessMessage] = React.useState('');\n const [errorMessage, setErrorMessage] = React.useState('');\n const [loader, setLoader] = React.useState(false);\n const [showResend, setShowResend] = React.useState(false);\n const [redirectPath, setRedirectPath] = React.useState(false);\n let params = (new URL(document.location)).searchParams;\n let userEmail = params.get(\"useremail\");\n let token = params.get(\"token\");\n const [email, setEmail] = React.useState('');\n\n /**\n * Set Redirect after login \n * @returns redirect url\n */\n function setRedirect() {\n setRedirectPath(true)\n }\n function renderRedirect() {\n if (redirectPath) {\n return \n }\n }\n React.useEffect(() => {\n if (!email) {\n setEmail(userEmail);\n }\n setLoader(true);\n //API Call For verification\n axios.get(apiVerificationToken + token).then((response) => {\n setSuccessMessage(response.data.message);\n setLoader(false);\n setLoader(false);\n setRedirect();\n\n }).catch((error) => {\n setErrorMessage(error.response.data.message);\n setLoader(false);\n setShowResend(true);\n });\n }, [email, token, userEmail]);\n\n\n /**\n * Submit handler \n * @param event use for prevent the default functionality of the event\n * @returns na\n */\n function handleSubmit(event) {\n event.preventDefault();\n setSuccessMessage('');\n setErrorMessage('');\n // API Call \n axios.post(apiResetPassword, {\n email: email,\n }).then((response) => {\n setSuccessMessage(response.data.message);\n setLoader(false);\n }).catch((error) => {\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n }\n return (\n
\n
\n
\n
\n \"Key\n

Reset your password

\n

\n Find out the agenda for all the rodeos throughout the country! Search for the ones you want to attend and click going.\n

\n
\n
\n
\n {showResend ? () : null}\n {loader ? (

) : null}\n {successMessage ? (
{successMessage}
) : null}\n {errorMessage ? (\n
{errorMessage}
\n ) : null}\n {renderRedirect()}\n
\n
\n\n
\n
\n
\n
\n
\n
\n );\n}\nexport default TokenVerification","/* eslint-disable no-unused-vars */\r\nimport React from 'react'\r\nimport axios from \"axios\"\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Link } from 'react-router-dom';\r\nimport Header from \"./../../Header\";\r\nimport Footer from \"./../../Footer\";\r\nimport { apiVerificationEmailResend, apiVerificationEmail } from './../../Utility/Utility';\r\nimport forgotPassword from './../../Assets/images/signup/forgot-password-send.svg';\r\nconst EmailVerification = () => {\r\n const [successMessage, setSuccessMessage] = React.useState('');\r\n const [errorMessage, setErrorMessage] = React.useState('');\r\n const [loader, setLoader] = React.useState(false);\r\n const [showResend, setShowResend] = React.useState(false);\r\n const [redirectPath, setRedirectPath] = React.useState(false);\r\n const [hideResend, setHideResend] = React.useState(false);\r\n let params = (new URL(document.location)).searchParams;\r\n let userEmail = params.get(\"useremail\");\r\n let token = params.get(\"token\");\r\n const [email, setEmail] = React.useState('');\r\n\r\n\r\n React.useEffect(() => {\r\n if (!email) {\r\n setEmail(userEmail);\r\n }\r\n setLoader(true);\r\n //API Call For verification\r\n axios.get(apiVerificationEmail + token).then((response) => {\r\n setSuccessMessage(response.data.message);\r\n setLoader(false);\r\n console.log(response);\r\n }).catch((error) => {\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n setShowResend(true);\r\n });\r\n }, [email, token, userEmail]);\r\n\r\n\r\n /**\r\n * Submit handler \r\n * @param event use for prevent the default functionality of the event\r\n * @returns na\r\n */\r\n function handleSubmit(event) {\r\n event.preventDefault();\r\n setHideResend(false);\r\n setSuccessMessage('');\r\n setErrorMessage('');\r\n // API Call \r\n axios.post(apiVerificationEmailResend, {\r\n email: email,\r\n }).then((response) => {\r\n setSuccessMessage(response.data.message);\r\n setHideResend(true);\r\n setShowResend(false);\r\n setLoader(false);\r\n }).catch((error) => {\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n });\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \"Key\r\n

Email verification

\r\n

\r\n Congratulations! You're now part of a growing team of real estate professionals making amazing videos with Reveo! Go nuts with it!\r\n

\r\n\r\n
\r\n
\r\n
\r\n {showResend ? () : null}\r\n {loader ? (

) : null}\r\n {successMessage ? (
{hideResend ? null : Login}
{successMessage}
\r\n
\r\n ) : null}\r\n {errorMessage ? (\r\n
{errorMessage}
\r\n ) : null}\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 EmailVerification","import React from 'react'\nimport axios from \"axios\"\nimport { Link } from \"react-router-dom\";\nimport Header from \"./../../Header\";\nimport Footer from \"./../../Footer\";\nimport { apiSetPassword, schemaPassword, schemaCpass } from './../../Utility/Utility';\nimport forgotPassword from './../../Assets/images/signup/forgot-password-send.svg';\nconst ResetNewPassword = () => {\n const [password, setPassword] = React.useState('');\n const [checkPassword, setcheckPassword] = React.useState(false);\n const [confirmPassword, setConfirmPassword] = React.useState('');\n const [checkConfirmPassword, setcheckConfirmPassword] = React.useState(false);\n const [successMessage, setSuccessMessage] = React.useState('');\n const [errorMessage, setErrorMessage] = React.useState('');\n const [loader, setLoader] = React.useState(false);\n const [showLogin, setShowLogin] = React.useState(false);\n let params = (new URL(document.location)).searchParams;\n let token = params.get(\"token\")\n /**\n * Set Password \n * @param evt get the value of the field.\n * @returns na\n */\n function setUserPassword(evt) {\n if (evt === \"\") {\n setcheckPassword(true);\n } else {\n setcheckPassword(false);\n }\n setPassword(evt);\n\n }\n /**\n * Set Confirm Password \n * @param evt get the value of the field.\n * @returns na\n */\n function setUserConfirmpassword(evt) {\n if (evt === \"\") {\n setcheckConfirmPassword(true);\n } else {\n setcheckConfirmPassword(false);\n }\n setConfirmPassword(evt);\n\n }\n /**\n * Submit handler \n * @param event use for prevent the default functionality of the event\n * @returns na\n */\n\n function handleSubmit(event) {\n event.preventDefault();\n setSuccessMessage('');\n setErrorMessage('');\n\n const resultpassword = schemaPassword.validate({ password: password });\n const resultconfirmpassword = schemaCpass.validate({ password: password, confirmpassword: confirmPassword });\n if (resultpassword.error) {\n setcheckPassword(true);\n return false;\n }\n if (resultconfirmpassword.error) {\n setcheckConfirmPassword(true);\n return false;\n }\n setLoader(true);\n // API Call \n axios.post(`${apiSetPassword}${token}`, {\n password: password,\n confirmPassword: confirmPassword,\n }).then((response) => {\n setSuccessMessage(response.data.message);\n setLoader(false);\n setPassword('');\n setConfirmPassword('');\n setShowLogin(true);\n }).catch((error) => {\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n }\n return (\n
\n
\n
\n
\n \"Key\n

Enter new password

\n

\n Enter your new password and confirm password.\n

\n
\n
\n
\n setUserPassword(e.currentTarget.value)} className=\"form-control\" placeholder=\"Password\" />\n {checkPassword ? '*Password must be at least 8 characters long' : ''} \n
\n
\n
\n
\n setUserConfirmpassword(e.currentTarget.value)} className=\"form-control\" placeholder=\"Confirm Password\" />\n {checkConfirmPassword ? '*Password does not matched' : ''} \n
\n
\n
\n
\n \n {loader ? (

) : null}\n {successMessage ? (
{successMessage}
) : null}\n {errorMessage ? (\n
{errorMessage}
\n ) : null}\n
\n
\n {showLogin ? (\n
\n
\n

\n Login to access your account.\n

\n Login\n
\n
\n ) : null}\n
\n
\n
\n
\n
\n
\n );\n}\nexport default ResetNewPassword","import React from 'react';\r\nimport jwt_decode from \"jwt-decode\";\r\nimport SiteHeader from \"./../../../../Header/HeaderUser\";\r\nimport editTemplate from './../../../../Assets/images/User/Home/edit-template-title.svg';\r\nimport Scene from './../../../../Assets/images/User/Home/scene1.png';\r\nimport Scene2 from './../../../../Assets/images/User/Home/scene2.png';\r\nimport Scene3 from './../../../../Assets/images/User/Home/scene3.png';\r\nimport Scene4 from './../../../../Assets/images/User/Home/scene4.png';\r\nimport trashIcon from './../../../../Assets/images/User/Home/trash.svg';\r\nimport ungroupIcon from './../../../../Assets/images/User/Home/ungroup.svg';\r\nimport addBlockImg from './../../../../Assets/images/User/Home/add-block.svg';\r\nimport { Link } from 'react-router-dom';\r\nimport axios from \"axios\";\r\nimport Cookies from 'universal-cookie';\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nimport { apigetTemplate, apideleteBlock, apiAddBlock } from './../../../../Utility/Utility'\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\r\nconst TemplateOne = (props) => {\r\n const [userId, setUserId] = React.useState('');\r\n const [processing, setProcessing] = React.useState(false);\r\n const [blockCount, setblockCount] = React.useState('1');\r\n const [blockToDelete, setblockToDelete] = React.useState('');\r\n const [templateId, setTemplateId] = React.useState('');\r\n const {\r\n buttonLabel,\r\n className\r\n } = props;\r\n\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const toggle = () => setModal(!modal);\r\n function getData() {\r\n setProcessing(true);\r\n const cookies = new Cookies();\r\n const token = cookies.get('token');\r\n const decoded = jwt_decode(token);\r\n setUserId(decoded.id);\r\n axios.get(`${apigetTemplate}`, {\r\n params: {\r\n userId: decoded.id,\r\n templateNumber: '1',\r\n }\r\n }).then(function (response) {\r\n setProcessing(false);\r\n // console.log(response.data.data['0']._id)\r\n if (typeof response.data.data['0'] != 'undefined') {\r\n setTemplateId(response.data.data['0']._id);\r\n setblockCount(response.data.data['0'].blocks.length);\r\n }\r\n\r\n });\r\n }\r\n React.useEffect(() => {\r\n getData()\r\n }, []);\r\n function addBlock(e) {\r\n\r\n e.preventDefault();\r\n if (blockCount < 4) {\r\n setProcessing(true);\r\n axios.post(`${apiAddBlock}`, {\r\n blockId: blockCount + 1,\r\n templateId: templateId,\r\n userId: userId,\r\n templateNumber: '1',\r\n }).then(function (response) {\r\n setblockCount(blockCount + 1);\r\n setProcessing(false);\r\n });\r\n\r\n }\r\n }\r\n function confirmDelete(e) {\r\n setModal(!modal)\r\n setblockToDelete(e);\r\n // setProcessing(true);\r\n }\r\n function deleteBlock(e) {\r\n setModal(!modal);\r\n setProcessing(true);\r\n let blockId = blockToDelete;\r\n axios.delete(`${apideleteBlock}`, {\r\n params: {\r\n templateId: templateId,\r\n blockId: blockId,\r\n }\r\n }).then(function (response) {\r\n //console.log(response.data.message)\r\n if (response.data.message) {\r\n setProcessing(false);\r\n getData()\r\n } else {\r\n setProcessing(false);\r\n }\r\n });\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n Delete Block\r\n

Are you sure you want to delete this block?

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

My First Template

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Block 1
\r\n
\r\n
\r\n \r\n
\r\n Edit\r\n
\r\n
\r\n
\r\n
\r\n {blockCount >= 2 ?\r\n
\r\n
\r\n
\r\n
Block 2
\r\n
\r\n
\r\n \r\n {blockCount <= 2 ? confirmDelete(2)} src={trashIcon} /> : null}\r\n
\r\n Edit\r\n
\r\n
\r\n : null\r\n }\r\n
\r\n
\r\n {blockCount >= 3 ?\r\n
\r\n
\r\n
\r\n
Block 3
\r\n
\r\n
\r\n \r\n {blockCount <= 3 ? confirmDelete(3)} src={trashIcon} /> : null}\r\n
\r\n Edit\r\n
\r\n
\r\n : null\r\n }\r\n
\r\n
\r\n {blockCount == 4 ?\r\n
\r\n
\r\n
\r\n
Block 4
\r\n
\r\n
\r\n \r\n confirmDelete(4)} src={trashIcon} />\r\n
\r\n Edit\r\n
\r\n
\r\n : null\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 TemplateOne","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable array-callback-return */\r\n/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport axios from \"axios\";\r\nimport Cookies from 'universal-cookie';\r\nimport { VideoEditor } from 'video-editor';\r\nimport \"react-video-trimmer/dist/style.css\";\r\nimport ReactVideoTrimmer from \"react-video-trimmer\";\r\nimport { preloadWebVideo } from \"react-video-trimmer\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport Loader from \"./../../../../../Utility/Loader/Loader\";\r\nimport SiteHeader from \"./../../../../../Header/HeaderUser\";\r\nimport mediaIcon from './../../../../../Assets/images/User/Template/media.svg';\r\nimport filtersIcon from './../../../../../Assets/images/User/Template/filters.svg';\r\nimport musicIcon from './../../../../../Assets/images/User/Template/music.svg';\r\nimport designIcon from './../../../../../Assets/images/User/Template/design.svg';\r\nimport uploadIcon from './../../../../../Assets/images/User/Template/upload-media.svg';\r\nimport titleIcon from './../../../../../Assets/images/User/Template/edit-template-title.svg';\r\nimport previewIcon from './../../../../../Assets/images/User/Header/preview.svg';\r\nimport Scene from './../../../../../Assets/images/User/Home/scene.png';\r\nimport { SketchPicker } from 'react-color';\r\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\r\nimport { apiUploadImage, apiPath, apiAddTemplate, apiAddBlock, apiPreviewVideo } from './../../../../../Utility/Utility'\r\nimport FilerobotImageEditor from 'filerobot-image-editor';\r\nconst Block1 = (props) => {\r\n const [userId, setUserId] = React.useState('');\r\n const [mediaClick, setMediaClick] = React.useState(false);\r\n const [designClick, setDesignClick] = React.useState(false);\r\n const [filtersClick, setFiltersClick] = React.useState(false);\r\n const [musicClick, setMusicClick] = React.useState(false);\r\n const [titleColor, setTitleColor] = React.useState('black');\r\n const [titleColorShow, setTtitleColorShow] = React.useState(false);\r\n const [subtitleColor, setsubTitleColor] = React.useState('black');\r\n const [subtitleColorShow, setsubTtitleColorShow] = React.useState(false);\r\n const [blockTitle, setBlockTitle] = React.useState();\r\n const [blocksubTitle, setBlocksubTitle] = React.useState();\r\n const [checkBlockTitle, setCheckBlockTitle] = React.useState(false);\r\n const [blocktitleFontsize, setBlockTitleFontsize] = React.useState('');\r\n const [blocksubTitleFontsize, setBlocksubTitleFontsize] = React.useState('');\r\n const [show, toggle] = React.useState(false);\r\n\r\n const [imageOne, setImageOne] = React.useState('');\r\n const [imageTwo, setImageTwo] = React.useState('');\r\n const [imageThree, setImageThree] = React.useState('');\r\n const [imageFour, setImageFour] = React.useState('');\r\n\r\n const [videoOne, setVideoOne] = React.useState('');\r\n const [videoTwo, setVideoTwo] = React.useState('');\r\n const [videoThree, setVideoThree] = React.useState('');\r\n const [videoFour, setVideoFour] = React.useState('');\r\n\r\n const [buttonCheck, setButtonCheck] = React.useState(false);\r\n const [containerOne, setContainerOne] = React.useState('');\r\n const [containerTwo, setContainerTwo] = React.useState('');\r\n const [containerThree, setContainerThree] = React.useState('');\r\n const [containerFour, setContainerFour] = React.useState('');\r\n\r\n const [editVideo, setEditVideo] = React.useState('');\r\n const [editImage, setEditImage] = React.useState('');\r\n const [imageOneCheck, setImageOneCheck] = React.useState(false);\r\n const [imageTwoCheck, setImageTwoCheck] = React.useState(false);\r\n const [imageThreeCheck, setImageThreeCheck] = React.useState(false);\r\n const [imageFourCheck, setImageFourCheck] = React.useState(false);\r\n const [globalFont, setGlobalFont] = React.useState(\"'Montserrat', sans-serif\");\r\n const [globalTitleSize, setGlobalTitleSize] = React.useState('');\r\n const [globalsubTitleSize, setGlobalSubTitleSize] = React.useState('');\r\n const [templateIdStored, setTemplateIdStored] = React.useState(false);\r\n const [processing, setProcessing] = React.useState(false);\r\n const [errorCheck, setErrorCheck] = React.useState(false);\r\n const [errorCheckNumber, setErrorCheckNumber] = React.useState(false);\r\n const [modal, setModal] = React.useState(false);\r\n const [disabled, setDisabled] = React.useState(false);\r\n const [videoSuccess, setVideoSuccess] = React.useState(false);\r\n const [videoError, setVideoError] = React.useState(false);\r\n const [videoUrl, setVideoUrl] = React.useState('');\r\n const [loaderCheck, setLoaderCheck] = React.useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n // Image Edior Init \r\n preloadWebVideo();\r\n const config = {\r\n tools: ['adjust', 'effects', 'filters', 'rotate', 'crop', 'resize', 'image', 'text'],\r\n theme: {\r\n colors: {\r\n primaryBg: '#00527E',\r\n primaryBgHover: '#637381',\r\n secondaryBg: '#0c6195',\r\n secondaryBgHover: '#C72928',\r\n text: '#F9FAFB',\r\n textHover: '#ffffff',\r\n textMute: '#aaaaaa',\r\n textWarn: '#f7931e',\r\n secondaryBgOpacity: 'rgba(0, 0, 0, 0.75)',\r\n border: '#00527E',\r\n borderLight: '#637381',\r\n tagsBackground: '#fb3640',\r\n buttonBackground: '#fb3640',\r\n hoverButtonBackground: '#E04241',\r\n }\r\n }\r\n };\r\n\r\n // After Apply Filter \r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace('sets/', '');\r\n let updatedImage = imageUrl;\r\n setEditImage(updatedImage);\r\n if (imageOne === editImage) {\r\n setImageOne(updatedImage);\r\n }\r\n else if (imageTwo === editImage) {\r\n setImageTwo(updatedImage);\r\n }\r\n else if (imageThree === editImage) {\r\n setImageThree(updatedImage);\r\n }\r\n else if (imageFour === editImage) {\r\n setImageFour(updatedImage);\r\n }\r\n if (containerOne === editImage) {\r\n setContainerOne(updatedImage);\r\n }\r\n else if (containerTwo === editImage) {\r\n setContainerTwo(updatedImage);\r\n }\r\n else if (containerThree === editImage) {\r\n setContainerThree(updatedImage);\r\n }\r\n else if (containerFour === editImage) {\r\n setContainerFour(updatedImage);\r\n }\r\n };\r\n // eslint-disable-next-line\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n // Onload Functions \r\n React.useEffect(() => {\r\n setProcessing(true);\r\n const cookies = new Cookies();\r\n const token = cookies.get('token');\r\n const decoded = jwt_decode(token);\r\n setUserId(decoded.id);\r\n axios.post(`${apiAddTemplate}`, {\r\n userId: decoded.id,\r\n templateNumber: '1',\r\n }).then(function (response) {\r\n setProcessing(false);\r\n console.log(response.data);\r\n if (response.data.data.length >= 1) {\r\n if (typeof response.data.data[0].blocks.blockData != 'undefined') {\r\n setTemplateIdStored(response.data.data[0]._id);\r\n if (response.data.data[0].globalfontFamily) {\r\n setGlobalFont(response.data.data[0].globalfontFamily)\r\n }\r\n if (response.data.data[0].globalFontTitle) {\r\n setGlobalTitleSize(response.data.data[0].globalFontTitle)\r\n }\r\n if (response.data.data[0].globalFontSubTitle) {\r\n setGlobalSubTitleSize(response.data.data[0].globalFontSubTitle)\r\n }\r\n if (response.data.data[0].blocks.length > 0) {\r\n {\r\n response.data.data[0].blocks.map(block => {\r\n if (block.blockId == 1) {\r\n console.log(block)\r\n setImageOne(block.blockData.imageOne);\r\n setImageTwo(block.blockData.imageTwo);\r\n setImageThree(block.blockData.imageThree);\r\n setImageFour(block.blockData.imageFour);\r\n setContainerOne(block.blockData.containerOne);\r\n setContainerTwo(block.blockData.containerTwo);\r\n setContainerThree(block.blockData.containerThree);\r\n setContainerFour(block.blockData.containerFour);\r\n\r\n setVideoOne(block.blockData.videoOne);\r\n setVideoTwo(block.blockData.videoTwo);\r\n setVideoThree(block.blockData.videoThree);\r\n setVideoFour(block.blockData.videoFour);\r\n\r\n setBlockTitle(block.blockData.blockTitle);\r\n setBlocksubTitle(block.blockData.blocksubTitle);\r\n setBlocksubTitleFontsize(block.blockData.blocksubTitleFontsize);\r\n setBlockTitleFontsize(block.blockData.blocktitleFontsize);\r\n setTitleColor(block.blockData.titleColor);\r\n setsubTitleColor(block.blockData.subtitleColor);\r\n if (block.blockData.imageOne != '') {\r\n setEditImage(block.blockData.imageOne);\r\n }\r\n else if (block.blockData.imageTwo != '') {\r\n setEditImage(block.blockData.imageTwo);\r\n }\r\n else if (block.blockData.imageThree != '') {\r\n setEditImage(block.blockData.imageThree);\r\n }\r\n else if (block.blockData.imageFour != '') {\r\n setEditImage(block.blockData.imageFour);\r\n }\r\n if (block.blockData.blockTitle) {\r\n setCheckBlockTitle(true);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n } else {\r\n setTemplateIdStored(response.data.data._id);\r\n }\r\n }\r\n });\r\n }, []);\r\n\r\n // Filters Click\r\n function mediaBtnClick() {\r\n\r\n if (containerFour != '') {\r\n setErrorCheckNumber(true);\r\n setTimeout(function () { setErrorCheckNumber(false); }, 2000);\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n else {\r\n setErrorCheckNumber(false)\r\n setMediaClick(!mediaClick);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n }\r\n function designBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(!designClick)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n function filterBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(!filtersClick)\r\n setMusicClick(false)\r\n toggle(true)\r\n }\r\n function musicBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(!musicClick)\r\n }\r\n\r\n function handleChangeComplete(color) {\r\n setTitleColor(color.hex);\r\n };\r\n const toggleTitle = () => setTtitleColorShow(prevState => !prevState);\r\n function handleChangeCompletesubTitle(color) {\r\n setsubTitleColor(color.hex);\r\n };\r\n const togglesubTitle = () => setsubTtitleColorShow(prevState => !prevState);\r\n\r\n /**\r\n * Set Block Title\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setblockTitle(evt) {\r\n if (evt === \"\") {\r\n setCheckBlockTitle(false);\r\n } else {\r\n setCheckBlockTitle(true);\r\n }\r\n setBlockTitle(evt);\r\n }\r\n function setblockTitleFontsize(e) {\r\n setBlockTitleFontsize(e);\r\n }\r\n function setblocksubTitleFontsize(e) {\r\n setBlocksubTitleFontsize(e);\r\n }\r\n /**\r\n * File Upload Function\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setformImage(e) {\r\n //e.preventDefault();\r\n // eslint-disable-next-line \r\n if (containerFour == '') {\r\n var parts = e.target.files[0].type.split(\"/\");\r\n var result = parts[0];\r\n if (result == 'image') {\r\n setErrorCheck(false);\r\n if (e.target.files[0] != '') {\r\n const data = new FormData();\r\n data.append('image', e.target.files[0]);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace('sets/', '');\r\n let updatedImage = imageUrl;\r\n\r\n if (containerOne == '') {\r\n setContainerOne(updatedImage)\r\n }\r\n else if (containerTwo == '') {\r\n\r\n setContainerTwo(updatedImage)\r\n }\r\n else if (containerThree == '') {\r\n\r\n setContainerThree(updatedImage)\r\n }\r\n else if (containerFour == '') {\r\n\r\n setContainerFour(updatedImage)\r\n }\r\n if (result == 'image') {\r\n if (imageOne == '') {\r\n setImageOne(updatedImage);\r\n setEditImage(updatedImage);\r\n }\r\n else if (imageTwo == '') {\r\n setImageTwo(updatedImage);\r\n }\r\n else if (imageThree == '') {\r\n setImageThree(updatedImage);\r\n }\r\n else if (imageFour == '') {\r\n setImageFour(updatedImage);\r\n }\r\n }\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n else {\r\n setErrorCheck(true)\r\n }\r\n setErrorCheckNumber('false')\r\n } else {\r\n setErrorCheckNumber('true')\r\n setTimeout(function () { setErrorCheckNumber(false); }, 2000);\r\n }\r\n }\r\n /**\r\n * Get Thumbnail Click\r\n * @returns na\r\n */\r\n function thumbClick(img) {\r\n\r\n if (img == imageOne || img == imageTwo || img == imageThree || img == imageFour) {\r\n console.log(img)\r\n setEditImage(img);\r\n setEditVideo('');\r\n }\r\n else {\r\n setEditImage('');\r\n setEditVideo(img);\r\n }\r\n if (img == containerOne) {\r\n setImageOneCheck(true);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(false)\r\n }\r\n else if (img == containerTwo) {\r\n setImageOneCheck(false);\r\n setImageTwoCheck(true)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(false)\r\n }\r\n else if (img == containerThree) {\r\n\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(true)\r\n setImageFourCheck(false)\r\n }\r\n else if (img == containerFour) {\r\n\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(true)\r\n }\r\n\r\n }\r\n\r\n function saveData(event) {\r\n setProcessing(true);\r\n event.preventDefault();\r\n const data = {\r\n imageOne: imageOne,\r\n imageTwo: imageTwo,\r\n imageThree: imageThree,\r\n imageFour: imageFour,\r\n containerOne: containerOne,\r\n containerTwo: containerTwo,\r\n containerThree: containerThree,\r\n containerFour: containerFour,\r\n\r\n videoOne: videoOne,\r\n videoTwo: videoTwo,\r\n videoThree: videoThree,\r\n videoFour: videoFour,\r\n blockTitle: blockTitle,\r\n blocksubTitle: blocksubTitle,\r\n blocktitleFontsize: blocktitleFontsize,\r\n blocksubTitleFontsize: blocksubTitleFontsize,\r\n titleColor: titleColor,\r\n subtitleColor: subtitleColor\r\n }\r\n axios.post(`${apiAddBlock}`, {\r\n blockId: '1',\r\n templateId: templateIdStored,\r\n blockData: data,\r\n userId: userId,\r\n templateNumber: '1',\r\n globalfontFamily: globalFont,\r\n globalFontTitle: globalTitleSize,\r\n globalFontSubTitle: globalsubTitleSize\r\n }).then(function (response) {\r\n console.log(response);\r\n setProcessing(false);\r\n });\r\n }\r\n function removeImg(img) {\r\n setErrorCheckNumber(false);\r\n if (img == imageOne) {\r\n setImageOne(imageTwo);\r\n setImageTwo(imageThree);\r\n setImageThree(imageFour);\r\n setImageFour('');\r\n }\r\n else if (img == imageTwo) {\r\n setImageTwo(imageThree);\r\n setImageThree(imageFour);\r\n setImageFour('');\r\n }\r\n else if (img == imageThree) {\r\n setImageThree(imageFour);\r\n setImageFour('');\r\n }\r\n else if (img == imageFour) {\r\n setImageFour('');\r\n }\r\n\r\n if (img == videoOne) {\r\n setVideoOne(imageTwo);\r\n setVideoTwo(imageThree);\r\n setVideoThree(imageFour);\r\n setVideoFour('');\r\n }\r\n else if (img == videoTwo) {\r\n setVideoTwo(imageThree);\r\n setVideoThree(imageFour);\r\n setVideoFour('');\r\n }\r\n else if (img == videoThree) {\r\n setVideoThree(imageFour);\r\n setVideoFour('');\r\n }\r\n else if (img == videoFour) {\r\n setVideoFour('');\r\n }\r\n\r\n if (img == editImage) {\r\n setEditImage('');\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(false)\r\n }\r\n if (img == editVideo) {\r\n setEditVideo('');\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(false)\r\n }\r\n\r\n if (img == imageFour && imageTwo == '' && imageThree == '' && imageFour == '') {\r\n setEditImage('');\r\n }\r\n\r\n if (img == containerOne) {\r\n setContainerOne(containerTwo);\r\n setContainerTwo(containerThree);\r\n setContainerThree(containerFour);\r\n setContainerFour('');\r\n }\r\n else if (img == containerTwo) {\r\n setContainerTwo(containerThree);\r\n setContainerThree(containerFour);\r\n setContainerFour('');\r\n }\r\n else if (img == containerThree) {\r\n setContainerThree(containerFour);\r\n setContainerFour('');\r\n }\r\n else if (img == containerFour) {\r\n setContainerFour('');\r\n }\r\n }\r\n\r\n var img1 = imageOne;\r\n var img2 = imageTwo;\r\n var img3 = imageThree;\r\n var img4 = imageFour;\r\n var container1 = containerOne;\r\n var container2 = containerTwo;\r\n var container3 = containerThree;\r\n var container4 = containerFour;\r\n\r\n const handleDrop = acceptedFiles => {\r\n\r\n let fileUrl, imageUrl, updatedImage;\r\n acceptedFiles.map((file, index) => {\r\n console.log(index);\r\n var parts = file.type.split(\"/\");\r\n var result = parts[0];\r\n if (result == 'image') {\r\n if (file != '') {\r\n const data = new FormData();\r\n data.append('image', file);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setProcessing(false);\r\n fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n imageUrl = fileUrl.replace('sets/', '');\r\n updatedImage = imageUrl;\r\n if (container1 == '') {\r\n container1 = updatedImage;\r\n setContainerOne(updatedImage)\r\n }\r\n else if (container2 == '') {\r\n\r\n container2 = updatedImage;\r\n setContainerTwo(updatedImage)\r\n }\r\n else if (container3 == '') {\r\n container3 = updatedImage;\r\n setContainerThree(updatedImage)\r\n }\r\n else if (container4 == '') {\r\n container4 = updatedImage;\r\n setContainerFour(updatedImage)\r\n }\r\n if (result == 'image') {\r\n if (img1 == '') {\r\n img1 = updatedImage;\r\n setImageOne(updatedImage);\r\n setEditImage(updatedImage);\r\n }\r\n else if (img2 == '') {\r\n img2 = updatedImage;\r\n setImageTwo(updatedImage);\r\n }\r\n else if (img3 == '') {\r\n img3 = updatedImage;\r\n setImageThree(updatedImage);\r\n }\r\n else if (img4 == '') {\r\n img4 = updatedImage;\r\n setImageFour(updatedImage);\r\n }\r\n }\r\n setMediaClick(false);\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n })\r\n }\r\n function setbuttonCheck(e) {\r\n setButtonCheck(!buttonCheck);\r\n setMediaClick(!mediaClick);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n i = 1;\r\n }\r\n var i = 1;\r\n const handleVideoEncode = React.useCallback(result => {\r\n if (i == 1) {\r\n i = 2;\r\n let fileUrl, imageUrl, updatedImage;\r\n let buffer = result['0'].data;\r\n var datas = new Blob([new Uint8Array(buffer, 0, buffer.byteLength)], {\r\n name: \"trimmed.mp4\",\r\n type: \"video/mp4\",\r\n });\r\n var fileOfBlob = new File([datas], 'trimmed.mp4');\r\n console.log(datas)\r\n const data = new FormData();\r\n data.append('image', fileOfBlob);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setButtonCheck(!buttonCheck)\r\n setProcessing(false);\r\n fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n imageUrl = fileUrl.replace('sets/', '');\r\n updatedImage = imageUrl;\r\n console.log(updatedImage);\r\n if (containerOne == '') {\r\n setContainerOne(updatedImage)\r\n }\r\n else if (containerTwo == '') {\r\n setContainerTwo(updatedImage)\r\n }\r\n else if (containerThree == '') {\r\n setContainerThree(updatedImage)\r\n }\r\n else if (containerFour == '') {\r\n setContainerFour(updatedImage)\r\n }\r\n if (videoOne == '') {\r\n setVideoOne(updatedImage);\r\n }\r\n else if (videoTwo == '') {\r\n\r\n setVideoTwo(updatedImage);\r\n }\r\n else if (videoThree == '') {\r\n setVideoThree(updatedImage);\r\n }\r\n else if (videoFour == '') {\r\n setVideoFour(updatedImage);\r\n }\r\n\r\n }).catch((error) => {\r\n });\r\n\r\n }\r\n });\r\n function previewClick(e) {\r\n setDisabled(true)\r\n e.preventDefault();\r\n setLoaderCheck(true);\r\n setModal(!modal)\r\n setVideoError(false);\r\n setVideoUrl(false)\r\n axios.post(`${apiPreviewVideo}`, {\r\n templateId: templateIdStored,\r\n }).then(function (response) {\r\n console.log(response);\r\n setLoaderCheck(false);\r\n setDisabled(false);\r\n if (modal == false) {\r\n setModal(true)\r\n }\r\n if (response.data.message == 'Video failed') {\r\n setVideoError(true);\r\n } else {\r\n setVideoSuccess(true)\r\n setVideoUrl(response.data.data)\r\n }\r\n });\r\n }\r\n const {\r\n buttonLabel,\r\n className\r\n } = props;\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Your Video is Rendering...\r\n \r\n {videoError ? (
Error! Unable to create video.
) : null}\r\n {loaderCheck ?\r\n
\r\n
Please Wait
Loading...
\r\n
\r\n : null}\r\n {videoUrl ? : \"scene\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Media\r\n
\r\n
\r\n \"Design\r\n
\r\n
\r\n \"Filter\r\n
\r\n
\r\n \"Music\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setbuttonCheck(e.currentTarget.value)} />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setformImage(e)} aria-label=\"File browser\" />\r\n \"Upload\r\n
\r\n
\r\n \r\n {({ getRootProps, getInputProps }) => (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Color
\r\n
Changes made here will be applied to your entire video.
\r\n
\r\n
\r\n Title\r\n
\r\n
\r\n
Subtitle
\r\n
Video Background
\r\n
\r\n
Text Size
\r\n
Title setGlobalTitleSize(e.target.value)} min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
Subtitle setGlobalSubTitleSize(e.target.value)} min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
\r\n
FONT
\r\n
Standard Fonts
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Title\"\r\n \r\n
\r\n {errorCheck ? (
Invalid file! Please select correct format
) : null}\r\n {errorCheckNumber ? (
All Sections are occupied. Please remove and then upload.
) : null}\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n {editVideo != '' ? \r\n : null}\r\n {editImage != '' ?\r\n
\r\n\r\n \"Edit\"\r\n { toggle(false) }}\r\n onComplete={onComplete}\r\n />\r\n
\r\n : null}\r\n {checkBlockTitle ?\r\n
\r\n\r\n
\r\n {blockTitle}\r\n
\r\n
\r\n {blocksubTitle}\r\n
\r\n
\r\n : null}\r\n
\r\n\r\n\r\n
\r\n
\r\n {containerOne == imageOne || containerOne == imageTwo || containerOne == imageThree || containerOne == imageFour ?\r\n
\r\n {containerOne != '' ?
removeImg(containerOne)} />\"Thumbnail\" thumbClick(containerOne)} />
: null}\r\n
\r\n :
\r\n {containerOne != '' ?
removeImg(containerOne)} />
thumbClick(containerOne)}>
: null}\r\n
}\r\n {containerTwo == imageOne || containerTwo == imageTwo || containerTwo == imageThree || containerTwo == imageFour ?\r\n
\r\n {containerTwo != '' ?
removeImg(containerTwo)} />\"Thumbnail\" thumbClick(containerTwo)} />
: null}\r\n
\r\n :
\r\n {containerTwo != '' ?
removeImg(containerTwo)} />
thumbClick(containerTwo)}>
: null}\r\n
}\r\n {containerThree == imageOne || containerThree == imageTwo || containerThree == imageThree || containerThree == imageFour ?\r\n
\r\n {containerThree != '' ?
removeImg(containerThree)} />\"Thumbnail\" thumbClick(containerThree)} />
: null}\r\n
\r\n :
\r\n {containerThree != '' ?
removeImg(containerThree)} />
thumbClick(containerThree)}>
: null}\r\n
}\r\n {containerFour == imageOne || containerFour == imageTwo || containerFour == imageThree || containerFour == imageFour ?\r\n
\r\n {containerFour != '' ?
removeImg(containerFour)} />\"Thumbnail\" thumbClick(containerFour)} />
: null}\r\n
\r\n :
\r\n {containerFour != '' ?
removeImg(containerFour)} />
thumbClick(containerFour)}>
: null}\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Enter Text
\r\n \r\n setBlocksubTitle(e.currentTarget.value)} className=\"form-control title subtitle\" />\r\n
\r\n
\r\n
Font Size
\r\n
Title setblockTitleFontsize(e.target.value)} type=\"range\" min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
Subtitle setblocksubTitleFontsize(e.target.value)} min=\"20\" max=\"30\" type=\"range\" className=\"custom-range\" />
\r\n
\r\n
\r\n
Color
\r\n
Title\r\n
\r\n
\r\n {titleColorShow ?\r\n \r\n : null}\r\n
\r\n
subtitle\r\n
\r\n
\r\n {subtitleColorShow ?\r\n \r\n : null}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n )\r\n}\r\nexport default Block1","import React from 'react';\r\nimport axios from \"axios\";\r\nimport Cookies from 'universal-cookie';\r\nimport { VideoEditor } from 'video-editor';\r\nimport \"react-video-trimmer/dist/style.css\";\r\nimport ReactVideoTrimmer from \"react-video-trimmer\";\r\nimport { preloadWebVideo } from \"react-video-trimmer\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport Loader from \"../../../../../Utility/Loader/Loader\";\r\nimport SiteHeader from \"../../../../../Header/HeaderUser\";\r\nimport mediaIcon from './../../../../../Assets/images/User/Template/media.svg';\r\nimport filtersIcon from './../../../../../Assets/images/User/Template/filters.svg';\r\nimport musicIcon from './../../../../../Assets/images/User/Template/music.svg';\r\nimport designIcon from './../../../../../Assets/images/User/Template/design.svg';\r\nimport uploadIcon from './../../../../../Assets/images/User/Template/upload-media.svg';\r\nimport titleIcon from './../../../../../Assets/images/User/Template/edit-template-title.svg';\r\nimport previewIcon from './../../../../../Assets/images/User/Header/preview.svg';\r\nimport Scene from './../../../../../Assets/images/User/Home/scene.png';\r\nimport { SketchPicker } from 'react-color';\r\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\r\nimport { apiUploadImage, apiPath, apiAddTemplate, apiAddBlock, apiPreviewVideo } from '../../../../../Utility/Utility'\r\nimport FilerobotImageEditor from 'filerobot-image-editor';\r\nconst Block2 = (props) => {\r\n const [userId, setUserId] = React.useState('');\r\n const [mediaClick, setMediaClick] = React.useState(false);\r\n const [designClick, setDesignClick] = React.useState(false);\r\n const [filtersClick, setFiltersClick] = React.useState(false);\r\n const [musicClick, setMusicClick] = React.useState(false);\r\n const [titleColor, setTitleColor] = React.useState('black');\r\n const [titleColorShow, setTtitleColorShow] = React.useState(false);\r\n const [subtitleColor, setsubTitleColor] = React.useState('black');\r\n const [subtitleColorShow, setsubTtitleColorShow] = React.useState(false);\r\n const [squareFeet, setSquareFeet] = React.useState('');\r\n const [acers, setAcers] = React.useState('');\r\n const [bedroom, setBedroom] = React.useState('');\r\n const [bathroom, setBathroom] = React.useState('');\r\n const [price, setPrice] = React.useState('');\r\n const [checkBlockTitle, setCheckBlockTitle] = React.useState(false);\r\n const [blocktitleFontsize, setBlockTitleFontsize] = React.useState('');\r\n const [blocksubTitleFontsize, setBlocksubTitleFontsize] = React.useState('');\r\n const [show, toggle] = React.useState(false);\r\n\r\n const [imageOne, setImageOne] = React.useState('');\r\n const [imageTwo, setImageTwo] = React.useState('');\r\n\r\n\r\n const [videoOne, setVideoOne] = React.useState('');\r\n const [videoTwo, setVideoTwo] = React.useState('');\r\n\r\n const [buttonCheck, setButtonCheck] = React.useState(false);\r\n const [containerOne, setContainerOne] = React.useState('');\r\n const [containerTwo, setContainerTwo] = React.useState('');\r\n\r\n\r\n const [editVideo, setEditVideo] = React.useState('');\r\n const [editImage, setEditImage] = React.useState('');\r\n const [imageOneCheck, setImageOneCheck] = React.useState(false);\r\n const [imageTwoCheck, setImageTwoCheck] = React.useState(false);\r\n\r\n const [globalFont, setGlobalFont] = React.useState(\"'Montserrat', sans-serif\");\r\n const [globalTitleSize, setGlobalTitleSize] = React.useState('');\r\n const [globalsubTitleSize, setGlobalSubTitleSize] = React.useState('');\r\n const [templateIdStored, setTemplateIdStored] = React.useState(false);\r\n const [processing, setProcessing] = React.useState(false);\r\n const [errorCheck, setErrorCheck] = React.useState(false);\r\n const [errorCheckNumber, setErrorCheckNumber] = React.useState(false);\r\n const [modal, setModal] = React.useState(false);\r\n const [disabled, setDisabled] = React.useState(false);\r\n const [videoSuccess, setVideoSuccess] = React.useState(false);\r\n const [videoError, setVideoError] = React.useState(false);\r\n const [videoUrl, setVideoUrl] = React.useState('');\r\n const [loaderCheck, setLoaderCheck] = React.useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n // Image Edior Init \r\n preloadWebVideo();\r\n const config = {\r\n tools: ['adjust', 'effects', 'filters', 'rotate', 'crop', 'resize', 'image', 'text'],\r\n theme: {\r\n colors: {\r\n primaryBg: '#00527E',\r\n primaryBgHover: '#637381',\r\n secondaryBg: '#0c6195',\r\n secondaryBgHover: '#C72928',\r\n text: '#F9FAFB',\r\n textHover: '#ffffff',\r\n textMute: '#aaaaaa',\r\n textWarn: '#f7931e',\r\n secondaryBgOpacity: 'rgba(0, 0, 0, 0.75)',\r\n border: '#00527E',\r\n borderLight: '#637381',\r\n tagsBackground: '#fb3640',\r\n buttonBackground: '#fb3640',\r\n hoverButtonBackground: '#E04241',\r\n }\r\n }\r\n };\r\n\r\n // After Apply Filter \r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace('sets/', '');\r\n let updatedImage = imageUrl;\r\n setEditImage(updatedImage);\r\n if (imageOne === editImage) {\r\n setImageOne(updatedImage);\r\n }\r\n else if (imageTwo === editImage) {\r\n setImageTwo(updatedImage);\r\n }\r\n\r\n if (containerOne === editImage) {\r\n setContainerOne(updatedImage);\r\n }\r\n else if (containerTwo === editImage) {\r\n setContainerTwo(updatedImage);\r\n }\r\n\r\n };\r\n // eslint-disable-next-line\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n // Onload Functions \r\n React.useEffect(() => {\r\n setProcessing(true);\r\n const cookies = new Cookies();\r\n const token = cookies.get('token');\r\n const decoded = jwt_decode(token);\r\n setUserId(decoded.id);\r\n axios.post(`${apiAddTemplate}`, {\r\n userId: decoded.id,\r\n templateNumber: '1',\r\n }).then(function (response) {\r\n setProcessing(false);\r\n console.log(response.data);\r\n if (response.data.data.length == 1) {\r\n setTemplateIdStored(response.data.data[0]._id);\r\n if (response.data.data[0].globalfontFamily) {\r\n setGlobalFont(response.data.data[0].globalfontFamily)\r\n }\r\n if (response.data.data[0].globalFontTitle) {\r\n setGlobalTitleSize(response.data.data[0].globalFontTitle)\r\n }\r\n if (response.data.data[0].globalFontSubTitle) {\r\n setGlobalSubTitleSize(response.data.data[0].globalFontSubTitle)\r\n }\r\n if (response.data.data[0].blocks.length > 0) {\r\n {\r\n if (typeof response.data.data[0].blocks.blockData != 'undefined') {\r\n response.data.data[0].blocks.map(block => {\r\n if (block.blockId == 2) {\r\n console.log(block)\r\n setImageOne(block.blockData.imageOne);\r\n setImageTwo(block.blockData.imageTwo);\r\n\r\n setContainerOne(block.blockData.containerOne);\r\n setContainerTwo(block.blockData.containerTwo);\r\n\r\n\r\n setVideoOne(block.blockData.videoOne);\r\n setVideoTwo(block.blockData.videoTwo);\r\n\r\n\r\n setSquareFeet(block.blockData.squareFeet);\r\n setAcers(block.blockData.acers);\r\n setBedroom(block.blockData.bedroom);\r\n setBathroom(block.blockData.bathroom);\r\n setPrice(block.blockData.price);\r\n\r\n\r\n setBlocksubTitleFontsize(block.blockData.blocksubTitleFontsize);\r\n setBlockTitleFontsize(block.blockData.blocktitleFontsize);\r\n setTitleColor(block.blockData.titleColor);\r\n setsubTitleColor(block.blockData.subtitleColor);\r\n if (block.blockData.imageOne != '') {\r\n setEditImage(block.blockData.imageOne);\r\n }\r\n else if (block.blockData.imageTwo != '') {\r\n setEditImage(block.blockData.imageTwo);\r\n }\r\n\r\n if (block.blockData.squareFeet) {\r\n setCheckBlockTitle(true);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n } else {\r\n setTemplateIdStored(response.data.data._id);\r\n }\r\n });\r\n }, []);\r\n\r\n // Filters Click\r\n function mediaBtnClick() {\r\n\r\n if (containerTwo != '') {\r\n setErrorCheckNumber(true);\r\n setTimeout(function () { setErrorCheckNumber(false); }, 2000);\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n else {\r\n setErrorCheckNumber(false)\r\n setMediaClick(!mediaClick);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n }\r\n function designBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(!designClick)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n function filterBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(!filtersClick)\r\n setMusicClick(false)\r\n toggle(true)\r\n }\r\n function musicBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(!musicClick)\r\n }\r\n\r\n function handleChangeComplete(color) {\r\n setTitleColor(color.hex);\r\n };\r\n const toggleTitle = () => setTtitleColorShow(prevState => !prevState);\r\n function handleChangeCompletesubTitle(color) {\r\n setsubTitleColor(color.hex);\r\n };\r\n const togglesubTitle = () => setsubTtitleColorShow(prevState => !prevState);\r\n\r\n /**\r\n * Set Block Title\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setsquareFeet(evt) {\r\n if (evt === \"\") {\r\n setCheckBlockTitle(false);\r\n } else {\r\n setCheckBlockTitle(true);\r\n }\r\n setSquareFeet(evt);\r\n }\r\n function setblockTitleFontsize(e) {\r\n setBlockTitleFontsize(e);\r\n }\r\n function setblocksubTitleFontsize(e) {\r\n setBlocksubTitleFontsize(e);\r\n }\r\n /**\r\n * File Upload Function\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setformImage(e) {\r\n //e.preventDefault();\r\n // eslint-disable-next-line \r\n if (containerTwo == '') {\r\n var parts = e.target.files[0].type.split(\"/\");\r\n var result = parts[0];\r\n if (result == 'image') {\r\n setErrorCheck(false);\r\n if (e.target.files[0] != '') {\r\n const data = new FormData();\r\n data.append('image', e.target.files[0]);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace('sets/', '');\r\n let updatedImage = imageUrl;\r\n\r\n if (containerOne == '') {\r\n setContainerOne(updatedImage)\r\n }\r\n else if (containerTwo == '') {\r\n\r\n setContainerTwo(updatedImage)\r\n }\r\n\r\n if (result == 'image') {\r\n if (imageOne == '') {\r\n setImageOne(updatedImage);\r\n setEditImage(updatedImage);\r\n }\r\n else if (imageTwo == '') {\r\n setImageTwo(updatedImage);\r\n }\r\n\r\n }\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n else {\r\n setErrorCheck(true)\r\n }\r\n setErrorCheckNumber('false')\r\n } else {\r\n setErrorCheckNumber('true')\r\n setTimeout(function () { setErrorCheckNumber(false); }, 2000);\r\n }\r\n }\r\n /**\r\n * Get Thumbnail Click\r\n * @returns na\r\n */\r\n function thumbClick(img) {\r\n\r\n if (img == imageOne || img == imageTwo) {\r\n setEditImage(img);\r\n setEditVideo('');\r\n }\r\n else {\r\n setEditImage('');\r\n setEditVideo(img);\r\n }\r\n if (img == containerOne) {\r\n setImageOneCheck(true);\r\n setImageTwoCheck(false)\r\n\r\n }\r\n else if (img == containerTwo) {\r\n setImageOneCheck(false);\r\n setImageTwoCheck(true)\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n function saveData(event) {\r\n setProcessing(true);\r\n event.preventDefault();\r\n const data = {\r\n imageOne: imageOne,\r\n imageTwo: imageTwo,\r\n\r\n containerOne: containerOne,\r\n containerTwo: containerTwo,\r\n\r\n\r\n videoOne: videoOne,\r\n videoTwo: videoTwo,\r\n squareFeetTitle: 'Square Feet',\r\n squareFeet: squareFeet,\r\n\r\n acersTitle: 'Acers',\r\n acers: acers,\r\n\r\n bedroomTitle: 'Bedroom',\r\n bedroom: bedroom,\r\n\r\n bathroomTitle: 'Bathroom',\r\n bathroom: bathroom,\r\n\r\n priceTitle: 'Price',\r\n price: price,\r\n blocktitleFontsize: blocktitleFontsize,\r\n blocksubTitleFontsize: blocksubTitleFontsize,\r\n titleColor: titleColor,\r\n subtitleColor: subtitleColor\r\n }\r\n axios.post(`${apiAddBlock}`, {\r\n blockId: '2',\r\n templateId: templateIdStored,\r\n blockData: data,\r\n userId: userId,\r\n templateNumber: '1',\r\n globalfontFamily: globalFont,\r\n globalFontTitle: globalTitleSize,\r\n globalFontSubTitle: globalsubTitleSize\r\n }).then(function (response) {\r\n console.log(response);\r\n setProcessing(false);\r\n });\r\n }\r\n function removeImg(img) {\r\n setErrorCheckNumber(false);\r\n if (img == imageOne) {\r\n setImageOne(imageTwo);\r\n setImageTwo('');\r\n\r\n }\r\n else if (img == imageTwo) {\r\n setImageTwo('');\r\n\r\n }\r\n\r\n\r\n if (img == videoOne) {\r\n setVideoOne(imageTwo);\r\n setVideoTwo('');\r\n\r\n }\r\n else if (img == videoTwo) {\r\n setVideoTwo('');\r\n }\r\n\r\n if (img == editImage) {\r\n setEditImage('');\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n\r\n }\r\n if (img == editVideo) {\r\n setEditVideo('');\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n\r\n }\r\n\r\n if (img == imageTwo && imageOne == '') {\r\n setEditImage('');\r\n }\r\n\r\n if (img == containerOne) {\r\n setContainerOne(containerTwo);\r\n setContainerTwo('');\r\n }\r\n else if (img == containerTwo) {\r\n setContainerTwo('');\r\n }\r\n }\r\n\r\n var img1 = imageOne;\r\n var img2 = imageTwo;\r\n\r\n var container1 = containerOne;\r\n var container2 = containerTwo;\r\n\r\n\r\n const handleDrop = acceptedFiles => {\r\n\r\n let fileUrl, imageUrl, updatedImage;\r\n acceptedFiles.map((file, index) => {\r\n var parts = file.type.split(\"/\");\r\n var result = parts[0];\r\n if (result == 'image') {\r\n if (file != '') {\r\n const data = new FormData();\r\n data.append('image', file);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setProcessing(false);\r\n fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n imageUrl = fileUrl.replace('sets/', '');\r\n updatedImage = imageUrl;\r\n if (container1 == '') {\r\n container1 = updatedImage;\r\n setContainerOne(updatedImage)\r\n }\r\n else if (container2 == '') {\r\n\r\n container2 = updatedImage;\r\n setContainerTwo(updatedImage)\r\n }\r\n if (result == 'image') {\r\n if (img1 == '') {\r\n img1 = updatedImage;\r\n setImageOne(updatedImage);\r\n setEditImage(updatedImage);\r\n }\r\n else if (img2 == '') {\r\n img2 = updatedImage;\r\n setImageTwo(updatedImage);\r\n }\r\n }\r\n setMediaClick(false);\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n })\r\n }\r\n function setbuttonCheck(e) {\r\n setButtonCheck(!buttonCheck);\r\n setMediaClick(!mediaClick);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n i = 1;\r\n }\r\n var i = 1;\r\n const handleVideoEncode = React.useCallback(result => {\r\n if (i == 1) {\r\n i = 2;\r\n let fileUrl, imageUrl, updatedImage;\r\n let buffer = result['0'].data;\r\n var datas = new Blob([new Uint8Array(buffer, 0, buffer.byteLength)], {\r\n name: \"trimmed.mp4\",\r\n type: \"video/mp4\",\r\n });\r\n var fileOfBlob = new File([datas], 'trimmed.mp4');\r\n console.log(datas)\r\n const data = new FormData();\r\n data.append('image', fileOfBlob);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setButtonCheck(!buttonCheck)\r\n setProcessing(false);\r\n fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n imageUrl = fileUrl.replace('sets/', '');\r\n updatedImage = imageUrl;\r\n console.log(updatedImage);\r\n if (containerOne == '') {\r\n setContainerOne(updatedImage)\r\n }\r\n else if (containerTwo == '') {\r\n setContainerTwo(updatedImage)\r\n }\r\n\r\n if (videoOne == '') {\r\n setVideoOne(updatedImage);\r\n }\r\n else if (videoTwo == '') {\r\n\r\n setVideoTwo(updatedImage);\r\n }\r\n\r\n }).catch((error) => {\r\n });\r\n\r\n }\r\n });\r\n function previewClick(e) {\r\n setDisabled(true)\r\n e.preventDefault();\r\n setLoaderCheck(true);\r\n setModal(!modal)\r\n setVideoError(false);\r\n setVideoUrl(false)\r\n axios.post(`${apiPreviewVideo}`, {\r\n templateId: templateIdStored,\r\n }).then(function (response) {\r\n console.log(response);\r\n setLoaderCheck(false);\r\n setDisabled(false);\r\n if (modal == false) {\r\n setModal(true)\r\n }\r\n if (response.data.message == 'Video failed') {\r\n setVideoError(true);\r\n } else {\r\n setVideoSuccess(true)\r\n setVideoUrl(response.data.data)\r\n }\r\n });\r\n }\r\n const {\r\n buttonLabel,\r\n className\r\n } = props;\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Your Video is Rendering...\r\n \r\n {videoError ? (
Error! Unable to create video.
) : null}\r\n {loaderCheck ?\r\n
\r\n
Please Wait
Loading...
\r\n
\r\n : null}\r\n {videoUrl ? : \"scene\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Media\r\n
\r\n
\r\n \"Design\r\n
\r\n
\r\n \"Filter\r\n
\r\n
\r\n \"Music\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setbuttonCheck(e.currentTarget.value)} />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setformImage(e)} aria-label=\"File browser\" />\r\n \"Upload\r\n
\r\n
\r\n \r\n {({ getRootProps, getInputProps }) => (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Color
\r\n
Changes made here will be applied to your entire video.
\r\n
\r\n
\r\n Title\r\n
\r\n
\r\n
Subtitle
\r\n
Video Background
\r\n
\r\n
Text Size
\r\n
Title setGlobalTitleSize(e.target.value)} min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
Subtitle setGlobalSubTitleSize(e.target.value)} min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
\r\n
FONT
\r\n
Standard Fonts
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Title\"\r\n \r\n
\r\n {errorCheck ? (
Invalid file! Please select correct format
) : null}\r\n {errorCheckNumber ? (
All Sections are occupied. Please remove and then upload.
) : null}\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n {editVideo != '' ? \r\n : null}\r\n {editImage != '' ?\r\n
\r\n \"Edit\"\r\n { toggle(false) }}\r\n onComplete={onComplete}\r\n />\r\n
\r\n : null}\r\n {checkBlockTitle ?\r\n
\r\n {squareFeet != \"\" ?\r\n
\r\n

Square Feet:

\r\n
\r\n {squareFeet}\r\n
\r\n
\r\n : null}\r\n {acers != \"\" ?\r\n
\r\n

Acers:

\r\n
\r\n {acers}\r\n
\r\n
\r\n : null}\r\n {bedroom != \"\" ?\r\n
\r\n

Bedroom:

\r\n
\r\n {bedroom}\r\n
\r\n
\r\n : null}\r\n {bathroom != \"\" ?\r\n
\r\n

Bathroom:

\r\n
\r\n {bathroom}\r\n
\r\n
\r\n : null}\r\n {price != \"\" ?\r\n
\r\n

Price:

\r\n
\r\n {price}\r\n
\r\n
\r\n : null}\r\n
\r\n : null}\r\n
\r\n
\r\n
\r\n {containerOne == imageOne || containerOne == imageTwo ?\r\n
\r\n {containerOne != '' ?
removeImg(containerOne)} />\"Thumbnail\" thumbClick(containerOne)} />
: null}\r\n
\r\n :
\r\n {containerOne != '' ?
removeImg(containerOne)} />
thumbClick(containerOne)}>
: null}\r\n
}\r\n {containerTwo == imageOne || containerTwo == imageTwo ?\r\n
\r\n {containerTwo != '' ?
removeImg(containerTwo)} />\"Thumbnail\" thumbClick(containerTwo)} />
: null}\r\n
\r\n :
\r\n {containerTwo != '' ?
removeImg(containerTwo)} />
thumbClick(containerTwo)}>
: null}\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Square Feet
\r\n setsquareFeet(e.currentTarget.value)} className=\"form-control title subtitle\" />\r\n
\r\n
\r\n
\r\n
Acers
\r\n setAcers(e.currentTarget.value)} className=\"form-control title subtitle\" />\r\n
\r\n
\r\n
\r\n
Bedroom
\r\n setBedroom(e.currentTarget.value)} className=\"form-control title subtitle\" />\r\n
\r\n
\r\n
\r\n
Bathroom
\r\n setBathroom(e.currentTarget.value)} className=\"form-control title subtitle\" />\r\n
\r\n
\r\n
\r\n
Price
\r\n setPrice(e.currentTarget.value)} className=\"form-control title subtitle\" />\r\n
\r\n
\r\n
Font Size
\r\n
Title setblockTitleFontsize(e.target.value)} type=\"range\" min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
Subtitle setblocksubTitleFontsize(e.target.value)} min=\"20\" max=\"30\" type=\"range\" className=\"custom-range\" />
\r\n
\r\n
\r\n
Color
\r\n
Title\r\n
\r\n
\r\n {titleColorShow ?\r\n \r\n : null}\r\n
\r\n
subtitle\r\n
\r\n
\r\n {subtitleColorShow ?\r\n \r\n : null}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n )\r\n}\r\nexport default Block2","import React from 'react';\r\nimport axios from \"axios\";\r\nimport Cookies from 'universal-cookie';\r\nimport { VideoEditor } from 'video-editor';\r\nimport \"react-video-trimmer/dist/style.css\";\r\nimport ReactVideoTrimmer from \"react-video-trimmer\";\r\nimport { preloadWebVideo } from \"react-video-trimmer\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport Loader from \"../../../../../Utility/Loader/Loader\";\r\nimport SiteHeader from \"../../../../../Header/HeaderUser\";\r\nimport mediaIcon from './../../../../../Assets/images/User/Template/media.svg';\r\nimport filtersIcon from './../../../../../Assets/images/User/Template/filters.svg';\r\nimport musicIcon from './../../../../../Assets/images/User/Template/music.svg';\r\nimport designIcon from './../../../../../Assets/images/User/Template/design.svg';\r\nimport uploadIcon from './../../../../../Assets/images/User/Template/upload-media.svg';\r\nimport titleIcon from './../../../../../Assets/images/User/Template/edit-template-title.svg';\r\nimport previewIcon from './../../../../../Assets/images/User/Header/preview.svg';\r\nimport Scene from './../../../../../Assets/images/User/Home/scene.png';\r\nimport { SketchPicker } from 'react-color';\r\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\r\nimport { apiUploadImage, apiPath, apiAddTemplate, apiAddBlock, apiPreviewVideo } from '../../../../../Utility/Utility'\r\nimport FilerobotImageEditor from 'filerobot-image-editor';\r\nconst Block2 = (props) => {\r\n const [userId, setUserId] = React.useState('');\r\n const [mediaClick, setMediaClick] = React.useState(false);\r\n const [designClick, setDesignClick] = React.useState(false);\r\n const [filtersClick, setFiltersClick] = React.useState(false);\r\n const [musicClick, setMusicClick] = React.useState(false);\r\n const [titleColor, setTitleColor] = React.useState('black');\r\n const [titleColorShow, setTtitleColorShow] = React.useState(false);\r\n const [subtitleColor, setsubTitleColor] = React.useState('black');\r\n const [subtitleColorShow, setsubTtitleColorShow] = React.useState(false);\r\n const [blockTitle, setBlockTitle] = React.useState();\r\n const [checkBlockTitle, setCheckBlockTitle] = React.useState(false);\r\n const [blocktitleFontsize, setBlockTitleFontsize] = React.useState('');\r\n const [blocksubTitleFontsize, setBlocksubTitleFontsize] = React.useState('');\r\n const [show, toggle] = React.useState(false);\r\n\r\n const [imageOne, setImageOne] = React.useState('');\r\n const [imageTwo, setImageTwo] = React.useState('');\r\n\r\n\r\n const [videoOne, setVideoOne] = React.useState('');\r\n const [videoTwo, setVideoTwo] = React.useState('');\r\n\r\n const [buttonCheck, setButtonCheck] = React.useState(false);\r\n const [containerOne, setContainerOne] = React.useState('');\r\n const [containerTwo, setContainerTwo] = React.useState('');\r\n\r\n\r\n const [editVideo, setEditVideo] = React.useState('');\r\n const [editImage, setEditImage] = React.useState('');\r\n const [imageOneCheck, setImageOneCheck] = React.useState(false);\r\n const [imageTwoCheck, setImageTwoCheck] = React.useState(false);\r\n\r\n const [globalFont, setGlobalFont] = React.useState(\"'Montserrat', sans-serif\");\r\n const [globalTitleSize, setGlobalTitleSize] = React.useState('');\r\n const [globalsubTitleSize, setGlobalSubTitleSize] = React.useState('');\r\n const [templateIdStored, setTemplateIdStored] = React.useState(false);\r\n const [processing, setProcessing] = React.useState(false);\r\n const [errorCheck, setErrorCheck] = React.useState(false);\r\n const [errorCheckNumber, setErrorCheckNumber] = React.useState(false);\r\n const [modal, setModal] = React.useState(false);\r\n const [disabled, setDisabled] = React.useState(false);\r\n const [videoSuccess, setVideoSuccess] = React.useState(false);\r\n const [videoError, setVideoError] = React.useState(false);\r\n const [videoUrl, setVideoUrl] = React.useState('');\r\n const [loaderCheck, setLoaderCheck] = React.useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n // Image Edior Init \r\n preloadWebVideo();\r\n const config = {\r\n tools: ['adjust', 'effects', 'filters', 'rotate', 'crop', 'resize', 'image', 'text'],\r\n theme: {\r\n colors: {\r\n primaryBg: '#00527E',\r\n primaryBgHover: '#637381',\r\n secondaryBg: '#0c6195',\r\n secondaryBgHover: '#C72928',\r\n text: '#F9FAFB',\r\n textHover: '#ffffff',\r\n textMute: '#aaaaaa',\r\n textWarn: '#f7931e',\r\n secondaryBgOpacity: 'rgba(0, 0, 0, 0.75)',\r\n border: '#00527E',\r\n borderLight: '#637381',\r\n tagsBackground: '#fb3640',\r\n buttonBackground: '#fb3640',\r\n hoverButtonBackground: '#E04241',\r\n }\r\n }\r\n };\r\n\r\n // After Apply Filter \r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace('sets/', '');\r\n let updatedImage = imageUrl;\r\n setEditImage(updatedImage);\r\n if (imageOne === editImage) {\r\n setImageOne(updatedImage);\r\n }\r\n else if (imageTwo === editImage) {\r\n setImageTwo(updatedImage);\r\n }\r\n\r\n if (containerOne === editImage) {\r\n setContainerOne(updatedImage);\r\n }\r\n else if (containerTwo === editImage) {\r\n setContainerTwo(updatedImage);\r\n }\r\n\r\n };\r\n // eslint-disable-next-line\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n // Onload Functions \r\n React.useEffect(() => {\r\n setProcessing(true);\r\n const cookies = new Cookies();\r\n const token = cookies.get('token');\r\n const decoded = jwt_decode(token);\r\n setUserId(decoded.id);\r\n axios.post(`${apiAddTemplate}`, {\r\n userId: decoded.id,\r\n templateNumber: '1',\r\n }).then(function (response) {\r\n setProcessing(false);\r\n console.log(response.data);\r\n if (response.data.data.length == 1) {\r\n setTemplateIdStored(response.data.data[0]._id);\r\n if (response.data.data[0].globalfontFamily) {\r\n setGlobalFont(response.data.data[0].globalfontFamily)\r\n }\r\n if (response.data.data[0].globalFontTitle) {\r\n setGlobalTitleSize(response.data.data[0].globalFontTitle)\r\n }\r\n if (response.data.data[0].globalFontSubTitle) {\r\n setGlobalSubTitleSize(response.data.data[0].globalFontSubTitle)\r\n }\r\n if (response.data.data[0].blocks.length > 0) {\r\n {\r\n if (typeof response.data.data[0].blocks.blockData != 'undefined') {\r\n response.data.data[0].blocks.map(block => {\r\n if (block.blockId == 3) {\r\n console.log(block)\r\n setImageOne(block.blockData.imageOne);\r\n setImageTwo(block.blockData.imageTwo);\r\n\r\n setContainerOne(block.blockData.containerOne);\r\n setContainerTwo(block.blockData.containerTwo);\r\n\r\n\r\n setVideoOne(block.blockData.videoOne);\r\n setVideoTwo(block.blockData.videoTwo);\r\n\r\n\r\n setBlockTitle(block.blockData.blockTitle);\r\n if (block.blockData.blockTitle) {\r\n setCheckBlockTitle(true);\r\n }\r\n setBlocksubTitleFontsize(block.blockData.blocksubTitleFontsize);\r\n setBlockTitleFontsize(block.blockData.blocktitleFontsize);\r\n setTitleColor(block.blockData.titleColor);\r\n setsubTitleColor(block.blockData.subtitleColor);\r\n if (block.blockData.imageOne != '') {\r\n setEditImage(block.blockData.imageOne);\r\n }\r\n else if (block.blockData.imageTwo != '') {\r\n setEditImage(block.blockData.imageTwo);\r\n }\r\n else if (block.blockData.videoOne != '') {\r\n setEditVideo(block.blockData.containerOne);\r\n }\r\n\r\n if (block.blockData.squareFeet) {\r\n setCheckBlockTitle(true);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n } else {\r\n setTemplateIdStored(response.data.data._id);\r\n }\r\n });\r\n }, []);\r\n\r\n // Filters Click\r\n function mediaBtnClick() {\r\n\r\n if (containerTwo != '') {\r\n setErrorCheckNumber(true);\r\n setTimeout(function () { setErrorCheckNumber(false); }, 2000);\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n else {\r\n setErrorCheckNumber(false)\r\n setMediaClick(!mediaClick);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n }\r\n function designBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(!designClick)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n function filterBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(!filtersClick)\r\n setMusicClick(false)\r\n toggle(true)\r\n }\r\n function musicBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(!musicClick)\r\n }\r\n\r\n function handleChangeComplete(color) {\r\n setTitleColor(color.hex);\r\n };\r\n const toggleTitle = () => setTtitleColorShow(prevState => !prevState);\r\n function handleChangeCompletesubTitle(color) {\r\n setsubTitleColor(color.hex);\r\n };\r\n const togglesubTitle = () => setsubTtitleColorShow(prevState => !prevState);\r\n\r\n /**\r\n * Set Block Title\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setblockTitle(evt) {\r\n if (evt === \"\") {\r\n setCheckBlockTitle(false);\r\n } else {\r\n setCheckBlockTitle(true);\r\n }\r\n setBlockTitle(evt);\r\n }\r\n function setblockTitleFontsize(e) {\r\n setBlockTitleFontsize(e);\r\n }\r\n function setblocksubTitleFontsize(e) {\r\n setBlocksubTitleFontsize(e);\r\n }\r\n /**\r\n * File Upload Function\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setformImage(e) {\r\n //e.preventDefault();\r\n // eslint-disable-next-line \r\n if (containerTwo == '') {\r\n var parts = e.target.files[0].type.split(\"/\");\r\n var result = parts[0];\r\n if (result == 'image') {\r\n setErrorCheck(false);\r\n if (e.target.files[0] != '') {\r\n const data = new FormData();\r\n data.append('image', e.target.files[0]);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace('sets/', '');\r\n let updatedImage = imageUrl;\r\n\r\n if (containerOne == '') {\r\n setContainerOne(updatedImage)\r\n }\r\n else if (containerTwo == '') {\r\n\r\n setContainerTwo(updatedImage)\r\n }\r\n\r\n if (result == 'image') {\r\n if (imageOne == '') {\r\n setImageOne(updatedImage);\r\n setEditImage(updatedImage);\r\n }\r\n else if (imageTwo == '') {\r\n setImageTwo(updatedImage);\r\n }\r\n\r\n }\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n else {\r\n setErrorCheck(true)\r\n }\r\n setErrorCheckNumber('false')\r\n } else {\r\n setErrorCheckNumber('true')\r\n setTimeout(function () { setErrorCheckNumber(false); }, 2000);\r\n }\r\n }\r\n /**\r\n * Get Thumbnail Click\r\n * @returns na\r\n */\r\n function thumbClick(img) {\r\n\r\n if (img == imageOne || img == imageTwo) {\r\n setEditImage(img);\r\n setEditVideo('');\r\n }\r\n else {\r\n setEditImage('');\r\n setEditVideo(img);\r\n }\r\n if (img == containerOne) {\r\n setImageOneCheck(true);\r\n setImageTwoCheck(false)\r\n\r\n }\r\n else if (img == containerTwo) {\r\n setImageOneCheck(false);\r\n setImageTwoCheck(true)\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n function saveData(event) {\r\n setProcessing(true);\r\n event.preventDefault();\r\n const data = {\r\n imageOne: imageOne,\r\n imageTwo: imageTwo,\r\n containerOne: containerOne,\r\n containerTwo: containerTwo,\r\n videoOne: videoOne,\r\n videoTwo: videoTwo,\r\n blockTitle: blockTitle,\r\n blocktitleFontsize: blocktitleFontsize,\r\n titleColor: titleColor,\r\n subtitleColor: subtitleColor\r\n }\r\n axios.post(`${apiAddBlock}`, {\r\n blockId: '3',\r\n templateId: templateIdStored,\r\n blockData: data,\r\n userId: userId,\r\n templateNumber: '1',\r\n globalfontFamily: globalFont,\r\n globalFontTitle: globalTitleSize,\r\n globalFontSubTitle: globalsubTitleSize\r\n }).then(function (response) {\r\n console.log(response);\r\n setProcessing(false);\r\n });\r\n }\r\n function removeImg(img) {\r\n setErrorCheckNumber(false);\r\n if (img == imageOne) {\r\n setImageOne(imageTwo);\r\n setImageTwo('');\r\n\r\n }\r\n else if (img == imageTwo) {\r\n setImageTwo('');\r\n\r\n }\r\n\r\n\r\n if (img == videoOne) {\r\n setVideoOne(imageTwo);\r\n setVideoTwo('');\r\n\r\n }\r\n else if (img == videoTwo) {\r\n setVideoTwo('');\r\n }\r\n\r\n if (img == editImage) {\r\n setEditImage('');\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n\r\n }\r\n if (img == editVideo) {\r\n setEditVideo('');\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n\r\n }\r\n\r\n if (img == imageTwo && imageOne == '') {\r\n setEditImage('');\r\n }\r\n\r\n if (img == containerOne) {\r\n setContainerOne(containerTwo);\r\n setContainerTwo('');\r\n }\r\n else if (img == containerTwo) {\r\n setContainerTwo('');\r\n }\r\n }\r\n\r\n var img1 = imageOne;\r\n var img2 = imageTwo;\r\n\r\n var container1 = containerOne;\r\n var container2 = containerTwo;\r\n\r\n\r\n const handleDrop = acceptedFiles => {\r\n\r\n let fileUrl, imageUrl, updatedImage;\r\n acceptedFiles.map((file, index) => {\r\n var parts = file.type.split(\"/\");\r\n var result = parts[0];\r\n if (result == 'image') {\r\n if (file != '') {\r\n const data = new FormData();\r\n data.append('image', file);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setProcessing(false);\r\n fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n imageUrl = fileUrl.replace('sets/', '');\r\n updatedImage = imageUrl;\r\n if (container1 == '') {\r\n container1 = updatedImage;\r\n setContainerOne(updatedImage)\r\n }\r\n else if (container2 == '') {\r\n\r\n container2 = updatedImage;\r\n setContainerTwo(updatedImage)\r\n }\r\n if (result == 'image') {\r\n if (img1 == '') {\r\n img1 = updatedImage;\r\n setImageOne(updatedImage);\r\n setEditImage(updatedImage);\r\n }\r\n else if (img2 == '') {\r\n img2 = updatedImage;\r\n setImageTwo(updatedImage);\r\n }\r\n }\r\n setMediaClick(false);\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n })\r\n }\r\n function setbuttonCheck(e) {\r\n setButtonCheck(!buttonCheck);\r\n setMediaClick(!mediaClick);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n i = 1;\r\n }\r\n var i = 1;\r\n const handleVideoEncode = React.useCallback(result => {\r\n if (i == 1) {\r\n i = 2;\r\n let fileUrl, imageUrl, updatedImage;\r\n let buffer = result['0'].data;\r\n var datas = new Blob([new Uint8Array(buffer, 0, buffer.byteLength)], {\r\n name: \"trimmed.mp4\",\r\n type: \"video/mp4\",\r\n });\r\n var fileOfBlob = new File([datas], 'trimmed.mp4');\r\n console.log(datas)\r\n const data = new FormData();\r\n data.append('image', fileOfBlob);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setButtonCheck(!buttonCheck)\r\n setProcessing(false);\r\n fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n imageUrl = fileUrl.replace('sets/', '');\r\n updatedImage = imageUrl;\r\n console.log(updatedImage);\r\n if (containerOne == '') {\r\n setContainerOne(updatedImage)\r\n }\r\n else if (containerTwo == '') {\r\n setContainerTwo(updatedImage)\r\n }\r\n\r\n if (videoOne == '') {\r\n setVideoOne(updatedImage);\r\n }\r\n else if (videoTwo == '') {\r\n\r\n setVideoTwo(updatedImage);\r\n }\r\n\r\n }).catch((error) => {\r\n });\r\n\r\n }\r\n });\r\n function previewClick(e) {\r\n setDisabled(true)\r\n e.preventDefault();\r\n setLoaderCheck(true);\r\n setModal(!modal)\r\n setVideoError(false);\r\n setVideoUrl(false)\r\n axios.post(`${apiPreviewVideo}`, {\r\n templateId: templateIdStored,\r\n }).then(function (response) {\r\n console.log(response);\r\n setLoaderCheck(false);\r\n setDisabled(false);\r\n if (modal == false) {\r\n setModal(true)\r\n }\r\n if (response.data.message == 'Video failed') {\r\n setVideoError(true);\r\n } else {\r\n setVideoSuccess(true)\r\n setVideoUrl(response.data.data)\r\n }\r\n });\r\n }\r\n const {\r\n buttonLabel,\r\n className\r\n } = props;\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Your Video is Rendering...\r\n \r\n {videoError ? (
Error! Unable to create video.
) : null}\r\n {loaderCheck ?\r\n
\r\n
Please Wait
Loading...
\r\n
\r\n : null}\r\n {videoUrl ? : \"scene\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Media\r\n
\r\n
\r\n \"Design\r\n
\r\n
\r\n \"Filter\r\n
\r\n
\r\n \"Music\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setbuttonCheck(e.currentTarget.value)} />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setformImage(e)} aria-label=\"File browser\" />\r\n \"Upload\r\n
\r\n
\r\n \r\n {({ getRootProps, getInputProps }) => (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Color
\r\n
Changes made here will be applied to your entire video.
\r\n
\r\n
\r\n Title\r\n
\r\n
\r\n
Subtitle
\r\n
Video Background
\r\n
\r\n
Text Size
\r\n
Title setGlobalTitleSize(e.target.value)} min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
Subtitle setGlobalSubTitleSize(e.target.value)} min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
\r\n
FONT
\r\n
Standard Fonts
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Title\"\r\n \r\n
\r\n {errorCheck ? (
Invalid file! Please select correct format
) : null}\r\n {errorCheckNumber ? (
All Sections are occupied. Please remove and then upload.
) : null}\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n {editVideo != '' ? \r\n : null}\r\n {editImage != '' ?\r\n
\r\n \"Edit\"\r\n { toggle(false) }}\r\n onComplete={onComplete}\r\n />\r\n
\r\n : null}\r\n {checkBlockTitle ?\r\n
\r\n
\r\n {blockTitle}\r\n
\r\n
\r\n : null}\r\n
\r\n
\r\n
\r\n {containerOne == imageOne || containerOne == imageTwo ?\r\n
\r\n {containerOne != '' ?
removeImg(containerOne)} />\"Thumbnail\" thumbClick(containerOne)} />
: null}\r\n
\r\n :
\r\n {containerOne != '' ?
removeImg(containerOne)} />
thumbClick(containerOne)}>
: null}\r\n
}\r\n {containerTwo == imageOne || containerTwo == imageTwo ?\r\n
\r\n {containerTwo != '' ?
removeImg(containerTwo)} />\"Thumbnail\" thumbClick(containerTwo)} />
: null}\r\n
\r\n :
\r\n {containerTwo != '' ?
removeImg(containerTwo)} />
thumbClick(containerTwo)}>
: null}\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Enter Text
\r\n \r\n\r\n
\r\n
\r\n
Font Size
\r\n
Title setblockTitleFontsize(e.target.value)} type=\"range\" min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n\r\n
\r\n
\r\n
Color
\r\n
Title\r\n
\r\n
\r\n {titleColorShow ?\r\n \r\n : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default Block2","import React from 'react';\r\nimport axios from \"axios\";\r\nimport Cookies from 'universal-cookie';\r\nimport { VideoEditor } from 'video-editor';\r\nimport \"react-video-trimmer/dist/style.css\";\r\nimport ReactVideoTrimmer from \"react-video-trimmer\";\r\nimport { preloadWebVideo } from \"react-video-trimmer\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport Loader from \"./../../../../../Utility/Loader/Loader\";\r\nimport SiteHeader from \"./../../../../../Header/HeaderUser\";\r\nimport mediaIcon from './../../../../../Assets/images/User/Template/media.svg';\r\nimport filtersIcon from './../../../../../Assets/images/User/Template/filters.svg';\r\nimport musicIcon from './../../../../../Assets/images/User/Template/music.svg';\r\nimport designIcon from './../../../../../Assets/images/User/Template/design.svg';\r\nimport uploadIcon from './../../../../../Assets/images/User/Template/upload-media.svg';\r\nimport titleIcon from './../../../../../Assets/images/User/Template/edit-template-title.svg';\r\nimport previewIcon from './../../../../../Assets/images/User/Header/preview.svg';\r\nimport Scene from './../../../../../Assets/images/User/Home/scene.png';\r\nimport { SketchPicker } from 'react-color';\r\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\r\nimport { apiUploadImage, apiPath, apiAddTemplate, apiAddBlock, apiPreviewVideo } from './../../../../../Utility/Utility'\r\nimport FilerobotImageEditor from 'filerobot-image-editor';\r\nconst Block4 = (props) => {\r\n const [userId, setUserId] = React.useState('');\r\n const [mediaClick, setMediaClick] = React.useState(false);\r\n const [designClick, setDesignClick] = React.useState(false);\r\n const [filtersClick, setFiltersClick] = React.useState(false);\r\n const [musicClick, setMusicClick] = React.useState(false);\r\n const [titleColor, setTitleColor] = React.useState('black');\r\n const [titleColorShow, setTtitleColorShow] = React.useState(false);\r\n const [subtitleColor, setsubTitleColor] = React.useState('black');\r\n const [subtitleColorShow, setsubTtitleColorShow] = React.useState(false);\r\n const [blockTitle, setBlockTitle] = React.useState();\r\n const [blocksubTitle, setBlocksubTitle] = React.useState();\r\n const [checkBlockTitle, setCheckBlockTitle] = React.useState(false);\r\n const [blocktitleFontsize, setBlockTitleFontsize] = React.useState('');\r\n const [blocksubTitleFontsize, setBlocksubTitleFontsize] = React.useState('');\r\n const [show, toggle] = React.useState(false);\r\n\r\n const [imageOne, setImageOne] = React.useState('');\r\n const [imageTwo, setImageTwo] = React.useState('');\r\n const [imageThree, setImageThree] = React.useState('');\r\n const [imageFour, setImageFour] = React.useState('');\r\n\r\n const [videoOne, setVideoOne] = React.useState('');\r\n const [videoTwo, setVideoTwo] = React.useState('');\r\n const [videoThree, setVideoThree] = React.useState('');\r\n const [videoFour, setVideoFour] = React.useState('');\r\n\r\n const [buttonCheck, setButtonCheck] = React.useState(false);\r\n const [containerOne, setContainerOne] = React.useState('');\r\n const [containerTwo, setContainerTwo] = React.useState('');\r\n const [containerThree, setContainerThree] = React.useState('');\r\n const [containerFour, setContainerFour] = React.useState('');\r\n\r\n const [editVideo, setEditVideo] = React.useState('');\r\n const [editImage, setEditImage] = React.useState('');\r\n const [imageOneCheck, setImageOneCheck] = React.useState(false);\r\n const [imageTwoCheck, setImageTwoCheck] = React.useState(false);\r\n const [imageThreeCheck, setImageThreeCheck] = React.useState(false);\r\n const [imageFourCheck, setImageFourCheck] = React.useState(false);\r\n const [globalFont, setGlobalFont] = React.useState(\"'Montserrat', sans-serif\");\r\n const [globalTitleSize, setGlobalTitleSize] = React.useState('');\r\n const [globalsubTitleSize, setGlobalSubTitleSize] = React.useState('');\r\n const [templateIdStored, setTemplateIdStored] = React.useState(false);\r\n const [processing, setProcessing] = React.useState(false);\r\n const [errorCheck, setErrorCheck] = React.useState(false);\r\n const [errorCheckNumber, setErrorCheckNumber] = React.useState(false);\r\n const [modal, setModal] = React.useState(false);\r\n const [disabled, setDisabled] = React.useState(false);\r\n const [videoSuccess, setVideoSuccess] = React.useState(false);\r\n const [videoError, setVideoError] = React.useState(false);\r\n const [videoUrl, setVideoUrl] = React.useState('');\r\n const [loaderCheck, setLoaderCheck] = React.useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n // Image Edior Init \r\n preloadWebVideo();\r\n const config = {\r\n tools: ['adjust', 'effects', 'filters', 'rotate', 'crop', 'resize', 'image', 'text'],\r\n theme: {\r\n colors: {\r\n primaryBg: '#00527E',\r\n primaryBgHover: '#637381',\r\n secondaryBg: '#0c6195',\r\n secondaryBgHover: '#C72928',\r\n text: '#F9FAFB',\r\n textHover: '#ffffff',\r\n textMute: '#aaaaaa',\r\n textWarn: '#f7931e',\r\n secondaryBgOpacity: 'rgba(0, 0, 0, 0.75)',\r\n border: '#00527E',\r\n borderLight: '#637381',\r\n tagsBackground: '#fb3640',\r\n buttonBackground: '#fb3640',\r\n hoverButtonBackground: '#E04241',\r\n }\r\n }\r\n };\r\n\r\n // After Apply Filter \r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace('sets/', '');\r\n let updatedImage = imageUrl;\r\n setEditImage(updatedImage);\r\n if (imageOne === editImage) {\r\n setImageOne(updatedImage);\r\n }\r\n else if (imageTwo === editImage) {\r\n setImageTwo(updatedImage);\r\n }\r\n else if (imageThree === editImage) {\r\n setImageThree(updatedImage);\r\n }\r\n else if (imageFour === editImage) {\r\n setImageFour(updatedImage);\r\n }\r\n if (containerOne === editImage) {\r\n setContainerOne(updatedImage);\r\n }\r\n else if (containerTwo === editImage) {\r\n setContainerTwo(updatedImage);\r\n }\r\n else if (containerThree === editImage) {\r\n setContainerThree(updatedImage);\r\n }\r\n else if (containerFour === editImage) {\r\n setContainerFour(updatedImage);\r\n }\r\n };\r\n // eslint-disable-next-line\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n // Onload Functions \r\n React.useEffect(() => {\r\n setProcessing(true);\r\n const cookies = new Cookies();\r\n const token = cookies.get('token');\r\n const decoded = jwt_decode(token);\r\n setUserId(decoded.id);\r\n axios.post(`${apiAddTemplate}`, {\r\n userId: decoded.id,\r\n templateNumber: '1',\r\n }).then(function (response) {\r\n setProcessing(false);\r\n console.log(response.data);\r\n if (response.data.data.length == 1) {\r\n setTemplateIdStored(response.data.data[0]._id);\r\n if (response.data.data[0].globalfontFamily) {\r\n setGlobalFont(response.data.data[0].globalfontFamily)\r\n }\r\n if (response.data.data[0].globalFontTitle) {\r\n setGlobalTitleSize(response.data.data[0].globalFontTitle)\r\n }\r\n if (response.data.data[0].globalFontSubTitle) {\r\n setGlobalSubTitleSize(response.data.data[0].globalFontSubTitle)\r\n }\r\n if (response.data.data[0].blocks.length > 0) {\r\n {\r\n if (typeof response.data.data[0].blocks.blockData != 'undefined') {\r\n response.data.data[0].blocks.map(block => {\r\n if (block.blockId == 4) {\r\n console.log(block)\r\n setImageOne(block.blockData.imageOne);\r\n setImageTwo(block.blockData.imageTwo);\r\n setImageThree(block.blockData.imageThree);\r\n setImageFour(block.blockData.imageFour);\r\n setContainerOne(block.blockData.containerOne);\r\n setContainerTwo(block.blockData.containerTwo);\r\n setContainerThree(block.blockData.containerThree);\r\n setContainerFour(block.blockData.containerFour);\r\n\r\n setVideoOne(block.blockData.videoOne);\r\n setVideoTwo(block.blockData.videoTwo);\r\n setVideoThree(block.blockData.videoThree);\r\n setVideoFour(block.blockData.videoFour);\r\n\r\n setBlockTitle(block.blockData.blockTitle);\r\n setBlocksubTitle(block.blockData.blocksubTitle);\r\n setBlocksubTitleFontsize(block.blockData.blocksubTitleFontsize);\r\n setBlockTitleFontsize(block.blockData.blocktitleFontsize);\r\n setTitleColor(block.blockData.titleColor);\r\n setsubTitleColor(block.blockData.subtitleColor);\r\n if (block.blockData.imageOne != '') {\r\n setEditImage(block.blockData.imageOne);\r\n }\r\n else if (block.blockData.imageTwo != '') {\r\n setEditImage(block.blockData.imageTwo);\r\n }\r\n else if (block.blockData.imageThree != '') {\r\n setEditImage(block.blockData.imageThree);\r\n }\r\n else if (block.blockData.imageFour != '') {\r\n setEditImage(block.blockData.imageFour);\r\n }\r\n if (block.blockData.blockTitle) {\r\n setCheckBlockTitle(true);\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n } else {\r\n setTemplateIdStored(response.data.data._id);\r\n }\r\n });\r\n }, []);\r\n\r\n // Filters Click\r\n function mediaBtnClick() {\r\n\r\n if (containerFour != '') {\r\n setErrorCheckNumber(true);\r\n setTimeout(function () { setErrorCheckNumber(false); }, 2000);\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n else {\r\n setErrorCheckNumber(false)\r\n setMediaClick(!mediaClick);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n }\r\n function designBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(!designClick)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n }\r\n function filterBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(!filtersClick)\r\n setMusicClick(false)\r\n toggle(true)\r\n }\r\n function musicBtnClick() {\r\n setMediaClick(false);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(!musicClick)\r\n }\r\n\r\n function handleChangeComplete(color) {\r\n setTitleColor(color.hex);\r\n };\r\n const toggleTitle = () => setTtitleColorShow(prevState => !prevState);\r\n function handleChangeCompletesubTitle(color) {\r\n setsubTitleColor(color.hex);\r\n };\r\n const togglesubTitle = () => setsubTtitleColorShow(prevState => !prevState);\r\n\r\n /**\r\n * Set Block Title\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setblockTitle(evt) {\r\n if (evt === \"\") {\r\n setCheckBlockTitle(false);\r\n } else {\r\n setCheckBlockTitle(true);\r\n }\r\n setBlockTitle(evt);\r\n }\r\n function setblockTitleFontsize(e) {\r\n setBlockTitleFontsize(e);\r\n }\r\n function setblocksubTitleFontsize(e) {\r\n setBlocksubTitleFontsize(e);\r\n }\r\n /**\r\n * File Upload Function\r\n * @param evt get the value of the field.\r\n * @returns na\r\n */\r\n function setformImage(e) {\r\n //e.preventDefault();\r\n // eslint-disable-next-line \r\n if (containerFour == '') {\r\n var parts = e.target.files[0].type.split(\"/\");\r\n var result = parts[0];\r\n if (result == 'image') {\r\n setErrorCheck(false);\r\n if (e.target.files[0] != '') {\r\n const data = new FormData();\r\n data.append('image', e.target.files[0]);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace('sets/', '');\r\n let updatedImage = imageUrl;\r\n\r\n if (containerOne == '') {\r\n setContainerOne(updatedImage)\r\n }\r\n else if (containerTwo == '') {\r\n\r\n setContainerTwo(updatedImage)\r\n }\r\n else if (containerThree == '') {\r\n\r\n setContainerThree(updatedImage)\r\n }\r\n else if (containerFour == '') {\r\n\r\n setContainerFour(updatedImage)\r\n }\r\n if (result == 'image') {\r\n if (imageOne == '') {\r\n setImageOne(updatedImage);\r\n setEditImage(updatedImage);\r\n }\r\n else if (imageTwo == '') {\r\n setImageTwo(updatedImage);\r\n }\r\n else if (imageThree == '') {\r\n setImageThree(updatedImage);\r\n }\r\n else if (imageFour == '') {\r\n setImageFour(updatedImage);\r\n }\r\n }\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n else {\r\n setErrorCheck(true)\r\n }\r\n setErrorCheckNumber('false')\r\n } else {\r\n setErrorCheckNumber('true')\r\n setTimeout(function () { setErrorCheckNumber(false); }, 2000);\r\n }\r\n }\r\n /**\r\n * Get Thumbnail Click\r\n * @returns na\r\n */\r\n function thumbClick(img) {\r\n\r\n if (img == imageOne || img == imageTwo || img == imageThree || img == imageFour) {\r\n console.log(img)\r\n setEditImage(img);\r\n setEditVideo('');\r\n }\r\n else {\r\n setEditImage('');\r\n setEditVideo(img);\r\n }\r\n if (img == containerOne) {\r\n setImageOneCheck(true);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(false)\r\n }\r\n else if (img == containerTwo) {\r\n setImageOneCheck(false);\r\n setImageTwoCheck(true)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(false)\r\n }\r\n else if (img == containerThree) {\r\n\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(true)\r\n setImageFourCheck(false)\r\n }\r\n else if (img == containerFour) {\r\n\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(true)\r\n }\r\n\r\n }\r\n\r\n function saveData(event) {\r\n setProcessing(true);\r\n event.preventDefault();\r\n const data = {\r\n imageOne: imageOne,\r\n imageTwo: imageTwo,\r\n imageThree: imageThree,\r\n imageFour: imageFour,\r\n containerOne: containerOne,\r\n containerTwo: containerTwo,\r\n containerThree: containerThree,\r\n containerFour: containerFour,\r\n\r\n videoOne: videoOne,\r\n videoTwo: videoTwo,\r\n videoThree: videoThree,\r\n videoFour: videoFour,\r\n blockTitle: blockTitle,\r\n blocksubTitle: blocksubTitle,\r\n blocktitleFontsize: blocktitleFontsize,\r\n blocksubTitleFontsize: blocksubTitleFontsize,\r\n titleColor: titleColor,\r\n subtitleColor: subtitleColor\r\n }\r\n axios.post(`${apiAddBlock}`, {\r\n blockId: '4',\r\n templateId: templateIdStored,\r\n blockData: data,\r\n userId: userId,\r\n templateNumber: '1',\r\n globalfontFamily: globalFont,\r\n globalFontTitle: globalTitleSize,\r\n globalFontSubTitle: globalsubTitleSize\r\n }).then(function (response) {\r\n console.log(response);\r\n setProcessing(false);\r\n });\r\n }\r\n function removeImg(img) {\r\n setErrorCheckNumber(false);\r\n if (img == imageOne) {\r\n setImageOne(imageTwo);\r\n setImageTwo(imageThree);\r\n setImageThree(imageFour);\r\n setImageFour('');\r\n }\r\n else if (img == imageTwo) {\r\n setImageTwo(imageThree);\r\n setImageThree(imageFour);\r\n setImageFour('');\r\n }\r\n else if (img == imageThree) {\r\n setImageThree(imageFour);\r\n setImageFour('');\r\n }\r\n else if (img == imageFour) {\r\n setImageFour('');\r\n }\r\n\r\n if (img == videoOne) {\r\n setVideoOne(imageTwo);\r\n setVideoTwo(imageThree);\r\n setVideoThree(imageFour);\r\n setVideoFour('');\r\n }\r\n else if (img == videoTwo) {\r\n setVideoTwo(imageThree);\r\n setVideoThree(imageFour);\r\n setVideoFour('');\r\n }\r\n else if (img == videoThree) {\r\n setVideoThree(imageFour);\r\n setVideoFour('');\r\n }\r\n else if (img == videoFour) {\r\n setVideoFour('');\r\n }\r\n\r\n if (img == editImage) {\r\n setEditImage('');\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(false)\r\n }\r\n if (img == editVideo) {\r\n setEditVideo('');\r\n setImageOneCheck(false);\r\n setImageTwoCheck(false)\r\n setImageThreeCheck(false)\r\n setImageFourCheck(false)\r\n }\r\n\r\n if (img == imageFour && imageTwo == '' && imageThree == '' && imageFour == '') {\r\n setEditImage('');\r\n }\r\n\r\n if (img == containerOne) {\r\n setContainerOne(containerTwo);\r\n setContainerTwo(containerThree);\r\n setContainerThree(containerFour);\r\n setContainerFour('');\r\n }\r\n else if (img == containerTwo) {\r\n setContainerTwo(containerThree);\r\n setContainerThree(containerFour);\r\n setContainerFour('');\r\n }\r\n else if (img == containerThree) {\r\n setContainerThree(containerFour);\r\n setContainerFour('');\r\n }\r\n else if (img == containerFour) {\r\n setContainerFour('');\r\n }\r\n }\r\n\r\n var img1 = imageOne;\r\n var img2 = imageTwo;\r\n var img3 = imageThree;\r\n var img4 = imageFour;\r\n var container1 = containerOne;\r\n var container2 = containerTwo;\r\n var container3 = containerThree;\r\n var container4 = containerFour;\r\n\r\n const handleDrop = acceptedFiles => {\r\n\r\n let fileUrl, imageUrl, updatedImage;\r\n acceptedFiles.map((file, index) => {\r\n console.log(index);\r\n var parts = file.type.split(\"/\");\r\n var result = parts[0];\r\n if (result == 'image') {\r\n if (file != '') {\r\n const data = new FormData();\r\n data.append('image', file);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setProcessing(false);\r\n fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n imageUrl = fileUrl.replace('sets/', '');\r\n updatedImage = imageUrl;\r\n if (container1 == '') {\r\n container1 = updatedImage;\r\n setContainerOne(updatedImage)\r\n }\r\n else if (container2 == '') {\r\n\r\n container2 = updatedImage;\r\n setContainerTwo(updatedImage)\r\n }\r\n else if (container3 == '') {\r\n container3 = updatedImage;\r\n setContainerThree(updatedImage)\r\n }\r\n else if (container4 == '') {\r\n container4 = updatedImage;\r\n setContainerFour(updatedImage)\r\n }\r\n if (result == 'image') {\r\n if (img1 == '') {\r\n img1 = updatedImage;\r\n setImageOne(updatedImage);\r\n setEditImage(updatedImage);\r\n }\r\n else if (img2 == '') {\r\n img2 = updatedImage;\r\n setImageTwo(updatedImage);\r\n }\r\n else if (img3 == '') {\r\n img3 = updatedImage;\r\n setImageThree(updatedImage);\r\n }\r\n else if (img4 == '') {\r\n img4 = updatedImage;\r\n setImageFour(updatedImage);\r\n }\r\n }\r\n setMediaClick(false);\r\n }).catch((error) => {\r\n });\r\n }\r\n }\r\n })\r\n }\r\n function setbuttonCheck(e) {\r\n setButtonCheck(!buttonCheck);\r\n setMediaClick(!mediaClick);\r\n setDesignClick(false)\r\n setFiltersClick(false)\r\n setMusicClick(false)\r\n i = 1;\r\n }\r\n var i = 1;\r\n const handleVideoEncode = React.useCallback(result => {\r\n if (i == 1) {\r\n i = 2;\r\n let fileUrl, imageUrl, updatedImage;\r\n let buffer = result['0'].data;\r\n var datas = new Blob([new Uint8Array(buffer, 0, buffer.byteLength)], {\r\n name: \"trimmed.mp4\",\r\n type: \"video/mp4\",\r\n });\r\n var fileOfBlob = new File([datas], 'trimmed.mp4');\r\n console.log(datas)\r\n const data = new FormData();\r\n data.append('image', fileOfBlob);\r\n // API Call \r\n setProcessing(true);\r\n axios.post(`${apiUploadImage}`, data).then((response) => {\r\n setButtonCheck(!buttonCheck)\r\n setProcessing(false);\r\n fileUrl = response.data.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n imageUrl = fileUrl.replace('sets/', '');\r\n updatedImage = imageUrl;\r\n console.log(updatedImage);\r\n if (containerOne == '') {\r\n setContainerOne(updatedImage)\r\n }\r\n else if (containerTwo == '') {\r\n setContainerTwo(updatedImage)\r\n }\r\n else if (containerThree == '') {\r\n setContainerThree(updatedImage)\r\n }\r\n else if (containerFour == '') {\r\n setContainerFour(updatedImage)\r\n }\r\n if (videoOne == '') {\r\n setVideoOne(updatedImage);\r\n }\r\n else if (videoTwo == '') {\r\n\r\n setVideoTwo(updatedImage);\r\n }\r\n else if (videoThree == '') {\r\n setVideoThree(updatedImage);\r\n }\r\n else if (videoFour == '') {\r\n setVideoFour(updatedImage);\r\n }\r\n\r\n }).catch((error) => {\r\n });\r\n\r\n }\r\n });\r\n function previewClick(e) {\r\n setDisabled(true)\r\n e.preventDefault();\r\n setLoaderCheck(true);\r\n setModal(!modal)\r\n setVideoError(false);\r\n setVideoUrl(false)\r\n axios.post(`${apiPreviewVideo}`, {\r\n templateId: templateIdStored,\r\n }).then(function (response) {\r\n console.log(response);\r\n setLoaderCheck(false);\r\n setDisabled(false);\r\n if (modal == false) {\r\n setModal(true)\r\n }\r\n if (response.data.message == 'Video failed') {\r\n setVideoError(true);\r\n } else {\r\n setVideoSuccess(true)\r\n setVideoUrl(response.data.data)\r\n }\r\n });\r\n }\r\n const {\r\n buttonLabel,\r\n className\r\n } = props;\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Your Video is Rendering...\r\n \r\n {videoError ? (
Error! Unable to create video.
) : null}\r\n {loaderCheck ?\r\n
\r\n
Please Wait
Loading...
\r\n
\r\n : null}\r\n {videoUrl ? : \"scene\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Media\r\n
\r\n
\r\n \"Design\r\n
\r\n
\r\n \"Filter\r\n
\r\n
\r\n \"Music\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setbuttonCheck(e.currentTarget.value)} />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n setformImage(e)} aria-label=\"File browser\" />\r\n \"Upload\r\n
\r\n
\r\n \r\n {({ getRootProps, getInputProps }) => (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Color
\r\n
Changes made here will be applied to your entire video.
\r\n
\r\n
\r\n Title\r\n
\r\n
\r\n
Subtitle
\r\n
Video Background
\r\n
\r\n
Text Size
\r\n
Title setGlobalTitleSize(e.target.value)} min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
Subtitle setGlobalSubTitleSize(e.target.value)} min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
\r\n
FONT
\r\n
Standard Fonts
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Title\"\r\n \r\n
\r\n {errorCheck ? (
Invalid file! Please select correct format
) : null}\r\n {errorCheckNumber ? (
All Sections are occupied. Please remove and then upload.
) : null}\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n {editVideo != '' ? \r\n : null}\r\n {editImage != '' ?\r\n
\r\n\r\n \"Edit\"\r\n { toggle(false) }}\r\n onComplete={onComplete}\r\n />\r\n
\r\n : null}\r\n {checkBlockTitle ?\r\n
\r\n
\r\n {blockTitle}\r\n
\r\n
\r\n : null}\r\n
\r\n\r\n\r\n
\r\n
\r\n {containerOne == imageOne || containerOne == imageTwo || containerOne == imageThree || containerOne == imageFour ?\r\n
\r\n {containerOne != '' ?
removeImg(containerOne)} />\"Thumbnail\" thumbClick(containerOne)} />
: null}\r\n
\r\n :
\r\n {containerOne != '' ?
removeImg(containerOne)} />
thumbClick(containerOne)}>
: null}\r\n
}\r\n {containerTwo == imageOne || containerTwo == imageTwo || containerTwo == imageThree || containerTwo == imageFour ?\r\n
\r\n {containerTwo != '' ?
removeImg(containerTwo)} />\"Thumbnail\" thumbClick(containerTwo)} />
: null}\r\n
\r\n :
\r\n {containerTwo != '' ?
removeImg(containerTwo)} />
thumbClick(containerTwo)}>
: null}\r\n
}\r\n {containerThree == imageOne || containerThree == imageTwo || containerThree == imageThree || containerThree == imageFour ?\r\n
\r\n {containerThree != '' ?
removeImg(containerThree)} />\"Thumbnail\" thumbClick(containerThree)} />
: null}\r\n
\r\n :
\r\n {containerThree != '' ?
removeImg(containerThree)} />
thumbClick(containerThree)}>
: null}\r\n
}\r\n {containerFour == imageOne || containerFour == imageTwo || containerFour == imageThree || containerFour == imageFour ?\r\n
\r\n {containerFour != '' ?
removeImg(containerFour)} />\"Thumbnail\" thumbClick(containerFour)} />
: null}\r\n
\r\n :
\r\n {containerFour != '' ?
removeImg(containerFour)} />
thumbClick(containerFour)}>
: null}\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Enter Text
\r\n \r\n \r\n
\r\n
\r\n
Font Size
\r\n
First Title setblockTitleFontsize(e.target.value)} type=\"range\" min=\"20\" max=\"30\" className=\"custom-range\" />
\r\n
Second Title setblocksubTitleFontsize(e.target.value)} min=\"20\" max=\"30\" type=\"range\" className=\"custom-range\" />
\r\n
\r\n
\r\n
Color
\r\n
First Title\r\n
\r\n
\r\n {titleColorShow ?\r\n \r\n : null}\r\n
\r\n
Second Title\r\n
\r\n
\r\n {subtitleColorShow ?\r\n \r\n : null}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n )\r\n}\r\nexport default Block4","import React from \"react\";\r\nimport windowImage from \"./../../../Assets/images/templates/window-of-four-rounded-squares.svg\";\r\nimport style from \"./../../../Assets/images/templates/color-picker.svg\";\r\nimport edit from \"./../../../Assets/images/templates/edit.svg\";\r\nimport exportIcon from \"./../../../Assets/images/templates/setting.png\";\r\nimport mediaIcon from \"./../../../Assets/images/templates/image.png\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch, Link } from \"react-router-dom\";\r\nimport { apiPreviewVideo, apiMergeVideo } from \"./../../../Utility/Utility\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nconst SidebarLeft = (props) => {\r\n const [addMusic, setAddMusic] = React.useState(props.addMusic);\r\n const [showMedia, setShowMedia] = React.useState(false);\r\n const [showglobal, setshowglobal] = React.useState(false);\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n React.useEffect(() => {\r\n setshowMedia();\r\n console.log(\"here\");\r\n }, []);\r\n function addScene() {\r\n setShowMedia(false);\r\n props.showAddScene(\"true\", props.scene);\r\n props.showMusic(\"false\");\r\n setAddMusic(false);\r\n setShowMedia(false);\r\n props.showGlobal(false);\r\n setshowglobal(false);\r\n }\r\n function hideScene() {\r\n props.showAddScene(false, \"\");\r\n setAddMusic(false);\r\n props.showMusic(false);\r\n setShowMedia(false);\r\n props.showGlobal(false);\r\n setshowglobal(false);\r\n }\r\n function showMusic() {\r\n setShowMedia(false);\r\n props.showGlobal(false);\r\n setshowglobal(false);\r\n setAddMusic(true);\r\n props.showAddScene(false, \"\");\r\n props.showMusic(true);\r\n }\r\n function setshowMedia() {\r\n setShowMedia(!showMedia);\r\n props.showAddScene(false, \"\");\r\n props.showMusic(false);\r\n props.showBg(true, \"\", \"data.type\", false, \"\");\r\n props.showGlobal(false);\r\n setshowglobal(false);\r\n }\r\n function setshowGlobal() {\r\n setshowglobal(true);\r\n setShowMedia(false);\r\n props.showAddScene(false, \"\");\r\n props.showMusic(false);\r\n props.showBg(false, \"\", \"data.type\", false, \"\");\r\n props.showGlobal(true);\r\n }\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\nexport default SidebarLeft;\r\n","import React from \"react\";\nimport {\n apiPath,\n apiUpdateScene,\n apiupdateAdminTemplate,\n apiUpdateUser,\n apiCheckPlan\n} from \"./../../../Utility/Utility\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport { useRouteMatch, Link } from \"react-router-dom\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport exportIcon from \"./../../../Assets/images/templates/export.png\";\nimport update from \"./../../../Assets/images/templates/update.png\";\nimport axios from \"axios\";\nimport moment from 'moment';\nconst TopSection = (props) => {\n // console.log(props.undoData)\n const [templateId, setTemplateId] = React.useState(props.templateId);\n const [sceneId, setSceneId] = React.useState(props.id);\n const [templateTitle, setTemplateTitle] = React.useState(props.templateTitle);\n const [userToken, setUserToken] = React.useState(\"\");\n const [userEmail, setUserEmail] = React.useState(\"\");\n const [modal3, setModal3] = React.useState(false);\n const [userData, setUserData] = React.useState(\"\");\n const [planexpiryCheck, setpPlanexpiryCheck] = React.useState(true);\n const [userCreated, setUserCreated] = React.useState(\"\");\n const [userVideos, setUserVideos] = React.useState(\"\");\n const [userPlan, setUserPlan] = React.useState(\"\");\n const { buttonLabel, className } = props;\n const toggle3 = () => {\n setModal3(!modal3);\n }\n React.useEffect(() => {\n\n const tokens = localStorage.getItem('token');\n setUserToken(tokens);\n const decoded = jwt_decode(tokens);\n setUserEmail(decoded.email);\n getPlan(decoded.email);\n\n axios\n .get(`${apiUpdateUser}` + \"/\" + decoded._id, {})\n .then(function (response) {\n //console.log(response.data.user)\n setUserData(response.data.user)\n var date2 = new Date();\n var startDate = moment(response.data.user.createdAt).format('YYYY-MM-DD');\n var endDate = moment(date2).format('YYYY-MM-DD');\n const returndate = moment(new Date(response.data.user.createdAt));\n const currentdate = moment(new Date());\n var days_diff = currentdate.diff(returndate, 'days');\n setUserCreated(days_diff)\n setUserVideos(response.data.user.video_count)\n })\n }, []);\n const getPlan = (email) => {\n axios\n .get(`${apiCheckPlan}` + \"?email=\" + email, {})\n .then(function (response) {\n // console.log(response);\n setUserPlan(response.data.user);\n if (response.data.user == 2 || response.data.user == 4) {\n var date = new Date(response.data.planDate);\n date.setDate(date.getDate() + 30);\n var today = new Date();\n today.setHours(0, 0, 0, 0);\n date.setHours(0, 0, 0, 0);\n if (date >= today) {\n setpPlanexpiryCheck(false);\n } else {\n setpPlanexpiryCheck(true);\n }\n } else {\n var date = new Date(response.data.planDate);\n date.setDate(date.getDate() + 365);\n console.log(date);\n var today = new Date();\n today.setHours(0, 0, 0, 0);\n date.setHours(0, 0, 0, 0);\n if (date >= today) {\n setpPlanexpiryCheck(false);\n } else {\n setpPlanexpiryCheck(true);\n }\n }\n });\n };\n function updateCategory(e) {\n setTemplateTitle(e);\n if (e != \"\") {\n if (props.template) {\n axios\n .put(`${apiupdateAdminTemplate}${templateId}`, {\n id: templateId,\n title: e,\n })\n .then(function (response) {\n console.log(response);\n });\n } else {\n axios\n .put(`${apiUpdateScene}${sceneId}`, {\n id: sceneId,\n sceneTitle: e,\n })\n .then(function (response) {\n console.log(response);\n });\n }\n }\n }\n return (\n
\n
\n
\n updateCategory(e.target.value)}\n value={templateTitle}\n placeholder=\"Enter Property Address \"\n />\n {/* */}\n
\n
\n 0 ? false : true}\n onClick={props.undodata}\n className={props.undoData.length > 0 ? \"btn\" : \"btn disable\"}\n >\n Undo\n \n 0 ? false : true}\n onClick={props.redodata}\n className={props.redoData.length > 0 ? \"btn\" : \"btn disable\"}\n >\n Redo\n \n
\n \n
\n \n Free Plan Used \n \n \"Upgrade\"\n

\n You are currenly have free plan. and you
are only allowed to create 2 free videos\n
\n You can upgrade your plan to start using scenes.
\n We have 2 Premium plans that fulfill your needs.\n

\n
\n \n
\n
\n
\n \n Upgrade\n \n
\n
\n
\n
\n \n
\n );\n};\nexport default TopSection;\n","/* eslint-disable react/jsx-no-duplicate-props */\nimport React from \"react\";\nimport FontPicker from \"font-picker-react\";\nimport { SketchPicker } from \"react-color\";\nvar rows = [];\nconst TextEditor = (props) => {\n const [titleColor, setTitleColor] = React.useState(props.textColor);\n const [titleColorShow, setTitleColorShow] = React.useState(false);\n const [activeCapitalize, setactiveCapitalize] = React.useState(false);\n const [activeLeftAlign, setactiveLeftAlign] = React.useState(false);\n const [activeRightAlign, setactiveRightAlign] = React.useState(false);\n const [activeCenterAlign, setactiveCenterAlign] = React.useState(false);\n const [activeFontFamily, setActiveFontFamily] = React.useState(props.fontFamily);\n const [sceneTime, setSceneTime] = React.useState(props.time);\n const [sceneMinTime, setsceneMinTime] = React.useState(4);\n // console.log(props.fontFamily)\n const [fontWeight, setFontWeight] = React.useState(\"\");\n const [activeFontlineHeight, setactiveFontlineHeight] = React.useState(\n props.textlineHeight\n );\n const [activeFontSize, setactiveFontSize] = React.useState('');\n //var activeFontSize = props.textSize;\n const toggleTitle = () => setTitleColorShow((prevState) => !prevState);\n\n React.useEffect(() => {\n //console.log(props.textSize)\n if (props.setTexttransform === \"text-uppercase\") {\n setactiveCapitalize(true);\n } else {\n setactiveCapitalize(false);\n }\n setTitleColor(props.textColor);\n setactiveFontSize(props.textSize)\n setActiveFontFamily(props.fontFamily);\n setFontWeight(props.fontWeight);\n setSceneTime(parseFloat(props.time))\n setsceneMinTime(props.mintime)\n const mintime = parseFloat(props.mintime);\n console.log(mintime)\n if (mintime) {\n for (let i = mintime; i <= 10; i = i + 0.5) {\n console.log(i)\n rows.push(i)\n }\n console.log(props.time)\n }\n //activeFontSize = props.textSize;\n }, [props.fontFamily, props.textColor, props.textSize]);\n function setcapitalize() {\n if (activeCapitalize === true) {\n props.getTextTransform(\"\");\n } else {\n props.getTextTransform(\"text-uppercase\");\n }\n setactiveCapitalize(!activeCapitalize);\n }\n function setAlignment(align) {\n if (align === \"left\") {\n setactiveLeftAlign(true);\n setactiveCenterAlign(false);\n setactiveRightAlign(false);\n props.getAlignment(\"text-left\");\n } else if (align === \"center\") {\n setactiveLeftAlign(false);\n setactiveCenterAlign(true);\n setactiveRightAlign(false);\n props.getAlignment(\"text-center\");\n } else {\n setactiveLeftAlign(false);\n setactiveCenterAlign(false);\n setactiveRightAlign(true);\n props.getAlignment(\"text-right\");\n }\n }\n function handleChangeComplete(color) {\n setTitleColor(color.hex);\n props.getTextColor(color.hex);\n }\n function setFontsize(e) {\n setactiveFontSize(e);\n props.getTextSize(e);\n }\n function setTime(e) {\n setSceneTime(e.target.value);\n props.getTime(e.target.value);\n }\n function setFontfamily(e) {\n\n setActiveFontFamily(e);\n props.getFontfamily(e);\n }\n function setfontWeight(e) {\n\n setFontWeight(e.target.value)\n props.getFontWeight(e.target.value);\n\n }\n function setFontlineHeight(e) {\n setactiveFontlineHeight(e);\n props.getTextlineHeight(e);\n }\n\n\n return (\n
\n
\n

Text Properties

\n
\n
Font Family
\n setFontfamily(nextFont.family)}\n />\n
Font Size
\n setFontsize(e.target.value)}\n type=\"number\"\n className=\"form-control\"\n />\n
\n
\n
Font Weight
\n \n {/*
Font Spacing
\n setFontlineHeight(e.target.value)}\n type=\"number\"\n min=\"1\"\n step=\"0.1\"\n className=\"form-control\"\n disabled={props.disabled}\n /> */}\n
\n\n
\n
    \n {/*
  • \n \n \n \n \n \n
\n */}\n
  • \n
    Choose text color
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {titleColorShow ? (\n \n ) : null}\n
    \n
  • \n \n
    \n {!props.hide ?\n
    \n
    Choose text placement
    \n
      \n
    • \n\n setAlignment(\"left\")}\n >\n \n \n \n \n \n \n \n \n
    \n \n
  • \n setAlignment(\"center\")}\n >\n \n \n \n \n \n \n \n \n \n
  • \n\n {/*
  • \n setAlignment(\"right\")}\n >\n \n \n \n \n \n \n \n \n \n
  • */}\n \n \n : null}\n
    \n

    Scene Time

    \n \n
    \n \n
    \n );\n};\nexport default TextEditor;\n","/* eslint-disable react/jsx-no-duplicate-props */\nimport React from \"react\";\nimport FontPicker from \"font-picker-react\";\nimport { SketchPicker } from \"react-color\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport Loader from \"../../../Utility/Loader/Loader\";\nimport {\n apiUploadMedia,\n apigetMusicUploads,\n apiupdateAdminTemplate,\n apiPath,\n} from \"../../../Utility/Utility\";\n\nconst GlobalOptions = (props) => {\n const [titleColor, setTitleColor] = React.useState(\"\");\n const [titleColorShow, setTitleColorShow] = React.useState(false);\n const [activeFontFamily, setState] = React.useState(\"Raleway\");\n const [fontWeight, setFontWeight] = React.useState(\"\");\n const [activeFontSize, setactiveFontSize] = React.useState(\"24\");\n const [processing, setProcessing] = React.useState(false);\n const [successMessage, setSuccessMessage] = React.useState(false);\n\n const toggleTitle = () => setTitleColorShow((prevState) => !prevState);\n\n React.useEffect(() => {\n console.log(props);\n if (props.bottomData.fontColor) {\n setTitleColor(props.bottomData.fontColor)\n }\n if (props.bottomData.fontFamily) {\n setTitleColor(props.bottomData.fontFamily)\n }\n if (props.bottomData.fontWeight) {\n setTitleColor(props.bottomData.fontWeight)\n }\n if (props.bottomData.fontSize) {\n setTitleColor(props.bottomData.fontSize)\n }\n }, []);\n\n function handleChangeComplete(color) {\n setTitleColor(color.hex);\n savemedia();\n savemedia(color.hex, fontWeight, activeFontFamily, activeFontSize);\n //props.getTextColor(color.hex);\n }\n function setGlobalTitleSize(e) {\n setactiveFontSize(e);\n savemedia(titleColor, fontWeight, activeFontFamily, e);\n //activeFontSize = e;\n // props.getTextSize(e);\n }\n function setFontfamilys(e) {\n setState(e);\n // props.getFontfamily(e);\n savemedia(titleColor, fontWeight, e, activeFontSize);\n }\n function setfontWeight(e) {\n console.log(e.target.value);\n setFontWeight(e.target.value);\n //props.getFontWeight(e.target.value);\n savemedia(titleColor, e.target.value, activeFontFamily, activeFontSize);\n }\n\n function savemedia(\n titleColors,\n fontWeights,\n activeFontFamilys,\n activeFontSizes\n ) {\n setSuccessMessage(false);\n setProcessing(true);\n axios\n .put(`${apiupdateAdminTemplate}${props.templateId}`, {\n id: props.templateId,\n fontColor: titleColors,\n fontWeight: fontWeights,\n fontFamily: activeFontFamilys,\n fontSize: activeFontSizes,\n })\n .then(function (response) {\n setSuccessMessage(\"true\");\n setProcessing(false);\n props.reFetchData();\n });\n }\n return (\n
    \n \n
    \n

    Global Properties

    \n
    \n
    \n Changes made here will be applied to your entire video.\n
    \n
    \n
    \n

    Font Size

    \n
    \n Text Size {activeFontSize}\n
    \n
    \n setGlobalTitleSize(e.target.value)}\n min=\"20\"\n max=\"40\"\n value={activeFontSize}\n className=\"custom-range\"\n />\n
    \n
    \n
    \n
    \n

    Fonts Family

    \n
    \n setFontfamilys(nextFont.family)}\n />\n
    \n
    \n
    \n

    Fonts Weight

    \n
    \n setfontWeight(e)}\n value={fontWeight}\n >\n \n \n \n \n \n
    \n
    \n
    \n
    \n

    Fonts Color

    \n
    \n
    \n {titleColorShow ? (\n \n ) : null}\n
    \n
    \n
    \n
    \n {/*
    \n setFontsize(e.target.value)}\n type=\"number\"\n className=\"form-control\"\n />\n
    \n
    \n setfontWeight(e)}\n value={fontWeight}\n >\n \n \n \n \n \n setFontlineHeight(e.target.value)}\n type=\"number\"\n min=\"1\"\n step=\"0.1\"\n className=\"form-control\"\n disabled={props.disabled}\n />\n
    */}\n\n {/*
    \n
      \n
    • \n \n \n \n \n \n
    \n \n
  • \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {titleColorShow ? (\n \n ) : null}\n
    \n
  • \n
  • \n setAlignment(\"left\")}\n >\n \n \n \n \n \n \n \n \n \n
  • \n
  • \n setAlignment(\"center\")}\n >\n \n \n \n \n \n \n \n \n \n
  • \n
  • \n setAlignment(\"right\")}\n >\n \n \n \n \n \n \n \n \n \n
  • \n \n */}\n {/*
    \n

    Text Animations

    \n \n
    */}\n \n
    \n );\n};\nexport default GlobalOptions;\n","/* eslint-disable eqeqeq */\r\n\r\nimport React from \"react\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../Utility/Utility\";\r\nimport trash from \"./../../../Assets/images/templates/trash.svg\";\r\nimport processingimg from \"./../../../Assets/images/templates/Ellipsise.gif\";\r\nimport Loader from \"./../../../Utility/Loader/Loader\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport Dropzone from \"react-dropzone\";\r\nimport {\r\n TabContent,\r\n TabPane,\r\n Nav,\r\n NavItem,\r\n NavLink,\r\n Card,\r\n Button,\r\n CardTitle,\r\n CardText,\r\n Row,\r\n Col,\r\n} from \"reactstrap\";\r\nimport classnames from \"classnames\";\r\nconst ChangeBg = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [activeTab, setActiveTab] = React.useState(\"1\");\r\n\r\n const toggle2 = (tab) => {\r\n if (activeTab !== tab) setActiveTab(tab);\r\n };\r\n const [uploadingCounter, setUploadingCounter] = React.useState(0);\r\n const [uploadingCounterStatus, setUploadingCounterStatus] = React.useState(1);\r\n const [mediaList, setMediaList] = React.useState([]);\r\n const [mediaListEmpty, setMediaListEmpty] = React.useState(true);\r\n const [media, setMedia] = React.useState(\"\");\r\n const [show, toggle] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [processing, setProcessing] = React.useState(false);\r\n const [thumbnailSize, setThumbnailSize] = React.useState(1);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n if (tokens != null) {\r\n \r\n setUserToken(tokens);\r\n // setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n // console.log(decoded.id)\r\n setUserId(decoded.id);\r\n if (userId) {\r\n getUploads();\r\n }\r\n }\r\n }, [userId]);\r\n function getUploads() {\r\n // setProcessing(true);\r\n axios\r\n .get(\r\n `${apigetUploads}` + \"?userId=\" + userId + \"&&templateId=\" + templateId,\r\n {}\r\n )\r\n .then(function (response) {\r\n setProcessing(false);\r\n if (response.data.data) {\r\n console.log(response.data.data);\r\n setMediaList(response.data.data);\r\n setMediaListEmpty(false);\r\n } else {\r\n setMediaListEmpty(true);\r\n }\r\n });\r\n }\r\n function deleteMedia(media, mediaId) {\r\n setProcessing(true);\r\n axios\r\n .delete(`${apideleteMedia}`, {\r\n params: {\r\n mediaId: mediaId,\r\n media: media,\r\n },\r\n })\r\n .then(function (response) {\r\n //console.log(response.data.message)\r\n if (response.data.message) {\r\n setProcessing(false);\r\n } else {\r\n setProcessing(false);\r\n }\r\n window.location.reload();\r\n getUploads();\r\n });\r\n }\r\n const handleDrop = (acceptedFiles) => {\r\n let fileUrl, imageUrl, updatedImage;\r\n // setProcessing(true);\r\n var i = acceptedFiles.length;\r\n setUploadingCounterStatus(1)\r\n setUploadingCounter(i);\r\n console.log(i);\r\n acceptedFiles.map((file, index) => {\r\n console.log(index);\r\n var parts = file.type.split(\"/\");\r\n var result = parts[0];\r\n console.log(result);\r\n // if (result == \"image\") {\r\n if (file != \"\") {\r\n const data = new FormData();\r\n\r\n data.append(\"file\", file);\r\n data.append(\"userId\", userId);\r\n data.append(\"templateId\", templateId);\r\n // API Call\r\n // setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, data)\r\n .then((response) => {\r\n var conter = index;\r\n // console.log(conter)\r\n\r\n // setProcessing(false);\r\n fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n updatedImage = imageUrl;\r\n getUploads();\r\n toggle2(\"1\");\r\n //console.log(uploadingCounter);\r\n if (i - 1 == index) {\r\n i = 0;\r\n setUploadingCounterStatus(0);\r\n setUploadingCounter(0);\r\n }\r\n setUploadingCounterStatus(conter + 2);\r\n })\r\n .catch((error) => { });\r\n //}\r\n }\r\n });\r\n };\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#5fcec6\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#509691\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#ffffff\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#5fcec6\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n props.showAddMedia(\"true\", updatedImage);\r\n props.closeAddMedia(false, updatedImage, \"image\");\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function filterBtnClick() {\r\n toggle(true);\r\n }\r\n\r\n function changebgMedia() {\r\n props.showAddMedia(\"true\", props.scene);\r\n }\r\n const handleDragStart = (e, img) => {\r\n //e.preventDefault();\r\n e.dataTransfer.setData(\"img\", img);\r\n };\r\n const handleDragStartVideo = (e, img) => {\r\n //e.preventDefault();\r\n e.dataTransfer.setData(\"video\", img);\r\n };\r\n function setThumbnail(e) {\r\n\r\n if (e.target.value == 1) {\r\n setThumbnailSize(e.target.value)\r\n } else if (e.target.value == 2) {\r\n setThumbnailSize(e.target.value)\r\n }\r\n else if (e.target.value == 3) {\r\n setThumbnailSize(e.target.value)\r\n }\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n {/* {props.type == \"image\" ? (\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n \r\n
    */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {uploadingCounter > 0\r\n ? \"Uploading & Compressing Media (\" +\r\n uploadingCounter + \")\"\r\n : null}\r\n {uploadingCounter > 0 ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {({ getRootProps, getInputProps }) => (\r\n
    \r\n \r\n

    Click or Drag Your Media to Upload

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {mediaListEmpty ? (\r\n
    \r\n
    No Media Found
    \r\n
    \r\n ) : (\r\n
      \r\n {mediaList.map((block) => {\r\n let fileUrl = block.path\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let mediaurl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = mediaurl;\r\n return (\r\n \r\n deleteMedia(updatedImage, block._id)}\r\n />\r\n\r\n {block.mimetype == \"image/jpeg\" ||\r\n block.mimetype == \"image/png\" ||\r\n block.mimetype == \"image/jpg\" ||\r\n block.mimetype == \"image/svg\" ? (\r\n \r\n handleDragStart(e, updatedImage)\r\n }\r\n >\r\n setImage(updatedImage, \"image\", block._id)}\r\n />\r\n
      \r\n
    \r\n ) : (\r\n \r\n handleDragStartVideo(e, updatedImage)\r\n }\r\n key={apiPath + updatedImage}\r\n className=\"video-container \"\r\n draggable=\"true\"\r\n autoPlay={true}\r\n controls={false}\r\n muted={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 {({ getRootProps, getInputProps }) => (\r\n
    \r\n \r\n

    Click or Drag Your Media to Upload

    \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 ChangeBg;\r\n","import React from \"react\";\r\n\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst Scene1 = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n console.log(response)\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n // return {\r\n // top: isResize,\r\n // right: isResize,\r\n // bottom: isResize,\r\n // left: isResize,\r\n // topRight: isResize,\r\n // bottomRight: isResize,\r\n // bottomLeft: isResize,\r\n // topLeft: isResize,\r\n // };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n console.log(container)\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n //setMediaArray(props.mediaArray);\r\n\r\n // console.log(\"props.content\");\r\n if (props.data) {\r\n console.log(props.data.media);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content);\r\n setContent(props.content);\r\n }\r\n }, [props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 60;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n\r\n }\r\n\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n props.dropMedia(false, imgUrl, \"img\", index, newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {props.mediaArray ? (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: true }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {textShow && content.length >= 40 ?
    = 60 ? \"char-counter red\" : \"char-counter\"}> {60 - content.length}
    : null}\r\n {/* {textShow ?
    {80 - content.length}
    : null} */}\r\n
    \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n\r\n {mediaArray.map((data, index) => {\r\n return (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n // className=\"bg box-1\"\r\n data-tut={index == 0 ? \"reactour__5\" : null}\r\n className={\r\n dragoverId == index + 1 && imgindex == index\r\n ? \"bg box-1 opacity active \"\r\n : imgindex == index\r\n ? \"bg box-1 active\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n key={index}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\nexport default Scene1;\r\n","/* eslint-disable eqeqeq */\nimport React from \"react\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport Loader from \"./../../../Utility/Loader/Loader\";\nimport {\n apiUploadImage,\n apigetUploads,\n apiPath,\n apideleteMedia,\n} from \"./../../../Utility/Utility\";\nimport FilerobotImageEditor from \"filerobot-image-editor\";\nimport img1 from \"./../../../Assets/images/templates/img11.png\";\nimport img2 from \"./../../../Assets/images/templates/img12.png\";\nimport img3 from \"./../../../Assets/images/templates/img13.png\";\nimport img4 from \"./../../../Assets/images/templates/img14.png\";\nimport backarrow from \"./../../../Assets/images/templates/back-arrow.svg\";\nconst AddMedia = (props) => {\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const [userId, setUserId] = React.useState(\"\");\n const [mediaId, setMediaId] = React.useState(\"\");\n const [processing, setProcessing] = React.useState(false);\n const [mediaList, setMediaList] = React.useState([]);\n const [mediaListEmpty, setMediaListEmpty] = React.useState(true);\n const [media, setMedia] = React.useState(\"\");\n const [mediaType, setMediaType] = React.useState(\"\");\n const setImage = (img, type, mediaId) => {\n setMedia(img);\n setMediaType(type);\n setMediaId(mediaId);\n };\n function getUploads() {\n setProcessing(true);\n axios\n .get(`${apigetUploads}` + \"?userId=\" + userId, {})\n .then(function (response) {\n setProcessing(false);\n if (response.data.data) {\n console.log(response.data.data);\n setMediaList(response.data.data);\n setMediaListEmpty(false);\n } else {\n setMediaListEmpty(true);\n }\n });\n }\n function deleteMedia() {\n setProcessing(true);\n axios\n .delete(`${apideleteMedia}`, {\n params: {\n mediaId: mediaId,\n media: media,\n },\n })\n .then(function (response) {\n //console.log(response.data.message)\n if (response.data.message) {\n setProcessing(false);\n } else {\n setProcessing(false);\n }\n getUploads();\n });\n }\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n // console.log(decoded.id)\n setUserId(decoded.id);\n }\n if (userId) {\n getUploads();\n }\n }, [userId]);\n const [show, toggle] = React.useState(false);\n const config = {\n tools: [\n \"adjust\",\n \"effects\",\n \"filters\",\n \"rotate\",\n \"crop\",\n \"resize\",\n \"image\",\n \"text\",\n ],\n theme: {\n colors: {\n primaryBg: \"#5fcec6\",\n primaryBgHover: \"#637381\",\n secondaryBg: \"#509691\",\n secondaryBgHover: \"#ee6352\",\n text: \"#F9FAFB\",\n textHover: \"#ffffff\",\n textMute: \"#aaaaaa\",\n textWarn: \"#f7931e\",\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\n border: \"#5fcec6\",\n borderLight: \"#637381\",\n tagsBackground: \"#fb3640\",\n buttonBackground: \"#fb3640\",\n hoverButtonBackground: \"#E04241\",\n },\n },\n };\n\n function filterBtnClick() {\n toggle(true);\n }\n function closeSection(media, mediatype) {\n props.closeAddMedia(false, media, mediaType);\n }\n\n function setformImage(e) {\n console.log(e.target.files.length);\n for (var i = 0; i < e.target.files.length; i++) {\n var parts = e.target.files[i].type.split(\"/\");\n var result = parts[0];\n if (result == \"image\") {\n const data = new FormData();\n data.append(\"file\", e.target.files[i]);\n data.append(\"userId\", userId);\n setProcessing(true);\n axios\n .post(`${apiUploadImage}`, data)\n .then((response) => {\n setProcessing(false);\n let fileUrl = response.data.message\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = imageUrl;\n getUploads();\n })\n .catch((error) => {});\n }\n }\n\n // var parts = e.target.files[0].type.split(\"/\");\n // var result = parts[0];\n // if (e.target.files[0] != \"\") {\n // const data = new FormData();\n // data.append(\"file\", e.target.files[0]);\n // data.append(\"userId\", userId);\n // setProcessing(true);\n // axios\n // .post(`${apiUploadImage}`, data)\n // .then((response) => {\n // setProcessing(false);\n // let fileUrl = response.data.message\n // .replace(/\\\\/g, \"/\")\n // .substring(\"public\".length);\n // let imageUrl = fileUrl.replace(\"sets/\", \"\");\n // let updatedImage = imageUrl;\n // getUploads();\n // })\n // .catch((error) => {});\n // }\n }\n return (\n
    \n \n
    \n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n {media ? (\n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n ) : null}\n
    \n
    \n
    \n
    \n

    Media Library

    \n \n
    \n
    closeSection(media)}>\n \"back\" Back\n
    \n
    \n {mediaListEmpty ? (\n
    \n
    No Media Found
    \n
    \n ) : (\n
      \n {mediaList.map((block) => {\n let fileUrl = block.path\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let mediaurl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = mediaurl;\n return (\n \n {block.mimetype == \"image/jpeg\" ||\n block.mimetype == \"image/png\" ||\n block.mimetype == \"image/jpg\" ||\n block.mimetype == \"image/svg\" ? (\n setImage(updatedImage, \"image\", block._id)}\n />\n ) : null}\n \n );\n })}\n
    \n )}\n
    \n
    \n );\n};\nexport default AddMedia;\n","/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport axios from \"axios\";\r\nimport backarrow from \"../../../Assets/images/templates/back-arrow.svg\";\r\nimport {\r\n apiGetCategoryScenes,\r\n apiPath,\r\n apiupdateAdminTemplate,\r\n apigetAdminTemplate,\r\n} from \"./../../../Utility/Utility\";\r\nimport Loader from \"./../../../Utility/Loader/Loader\";\r\n\r\nconst ScenesListings = (props) => {\r\n const [media, setMedia] = React.useState(\"\");\r\n const [data, setData] = React.useState([]);\r\n const [scenes, setScenes] = React.useState(false)\r\n const [templateScenes, setTemplateScenes] = React.useState([]);\r\n const [catid, setCatid] = React.useState(false)\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const [loader, setLoader] = React.useState(false);\r\n const [successMessage, setSuccessMessage] = React.useState(\"\");\r\n const [errorMessage, setErrorMessage] = React.useState(\"\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const [sceneOrder, setSceneOrder] = React.useState(props.sceneOrder);\r\n const setImage = (img) => {\r\n setMedia(img);\r\n };\r\n const [show, toggle] = React.useState(false);\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#5fcec6\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#509691\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#ffffff\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#5fcec6\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function filterBtnClick() {\r\n toggle(true);\r\n }\r\n function closeSection(media) {\r\n props.closeAddScene(false, media);\r\n }\r\n function addScene(data) {\r\n setLoader(true);\r\n axios\r\n .put(apiupdateAdminTemplate + templateId, {\r\n id: templateId,\r\n data: data,\r\n })\r\n .then((response) => {\r\n console.log(response);\r\n setSuccessMessage(response.data.message);\r\n setLoader(false);\r\n window.location.reload();\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n setErrorMessage(error.response.data.message);\r\n setLoader(false);\r\n });\r\n }\r\n React.useEffect(() => {\r\n setLoader(true);\r\n axios\r\n .get(`${apiGetCategoryScenes}?categoryId=${props.categoryId}`, {})\r\n .then(function (response) {\r\n console.log(props.categoryId)\r\n setData(response.data.scenes);\r\n axios\r\n .get(\r\n `${apigetAdminTemplate}` + \"?templateId=\" + props.parenttemplateId,\r\n {}\r\n )\r\n .then(function (response2) {\r\n console.log(response2.data)\r\n var Templates = [];\r\n response.data.scenes.map((data, index) => {\r\n response2.data.data[0].templateScenes.map((templates, index2) => {\r\n if (templates.id == data._id) {\r\n // console.log(\"herere\")\r\n Templates.push(data)\r\n setTemplateScenes(Templates)\r\n }\r\n if (response2.data.data[0].templateScenes.length == index2 + 1) {\r\n // console.log(Templates)\r\n setLoader(true);\r\n setLoader(false);\r\n setScenes(true)\r\n }\r\n });\r\n });\r\n });\r\n });\r\n\r\n }, [props.categoryId]);\r\n return (\r\n
    \r\n \r\n {scenes ? (\r\n
      \r\n {templateScenes.map((data, index) => {\r\n console.log(data._id)\r\n return (\r\n \r\n \"thumbnail\"\r\n

      {data.sceneTitle}

      \r\n \r\n \r\n )\r\n })}\r\n
    \r\n ) : (\r\n !loader ?\r\n
    \r\n
    No scenes available
    \r\n
    \r\n : null)}\r\n
    \r\n );\r\n};\r\nexport default ScenesListings;\r\n","/* eslint-disable eqeqeq */\nimport React from \"react\";\nimport FilerobotImageEditor from \"filerobot-image-editor\";\nimport axios from \"axios\";\n// import img1 from \"../../../../assets/images/templates/img11.png\";\n// import img2 from \"../../../../assets/images/templates/img12.png\";\n// import img3 from \"../../../../assets/images/templates/img13.png\";\n// import img4 from \"../../../../assets/images/templates/img14.png\";\nimport backarrow from \"../../../Assets/images/templates/back-arrow.svg\";\nimport { apiGetSceneCategories, apiPath } from \"./../../../Utility/Utility\";\nimport ScenesListings from \"./ScenesListings\";\nconst AddScene = (props) => {\n const [media, setMedia] = React.useState(\"\");\n const [data, setData] = React.useState([]);\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\n const [showScenes, setShowScenes] = React.useState(false);\n const setImage = (img) => {\n setMedia(img);\n };\n const [show, toggle] = React.useState(false);\n const config = {\n tools: [\n \"adjust\",\n \"effects\",\n \"filters\",\n \"rotate\",\n \"crop\",\n \"resize\",\n \"image\",\n \"text\",\n ],\n theme: {\n colors: {\n primaryBg: \"#5fcec6\",\n primaryBgHover: \"#637381\",\n secondaryBg: \"#509691\",\n secondaryBgHover: \"#ee6352\",\n text: \"#F9FAFB\",\n textHover: \"#ffffff\",\n textMute: \"#aaaaaa\",\n textWarn: \"#f7931e\",\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\n border: \"#5fcec6\",\n borderLight: \"#637381\",\n tagsBackground: \"#fb3640\",\n buttonBackground: \"#fb3640\",\n hoverButtonBackground: \"#E04241\",\n },\n },\n };\n const onComplete = function (newUrl) {\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = imageUrl;\n };\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\n function filterBtnClick() {\n toggle(true);\n }\n function closeSection(media) {\n props.closeAddScene(false, media);\n }\n React.useEffect(() => {\n axios.get(`${apiGetSceneCategories}`, {}).then(function (response) {\n console.log(response.data.scenes);\n setData(response.data.scenes);\n console.log(response.data.scenes[0]._id)\n //setSelectedCategory(response.data.scenes[0]._id);\n setCategory(response.data.scenes[0]._id)\n });\n }, []);\n function setCategory(categoryId) {\n setShowScenes(true);\n setSelectedCategory(categoryId);\n }\n return (\n
    \n
    \n
    \n
    \n

    Media Scenes

    \n
    \n
    closeSection(media)}>\n \"back\" Back\n
    \n
    \n {showScenes ? (\n \n ) : (\n
      \n {data.map((data, index) => {\n return (\n setCategory(data._id)}\n >\n \"thumbnail\"\n

      \n {data.title} \n

      \n \n \n );\n })}\n
    \n )}\n
    \n
    \n );\n};\nexport default AddScene;\n","import React from \"react\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport HOC from \"./HOC\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nconst PlayerSceneOne = (props) => {\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n // const [activeScene, setActiveScene] = React.useState(false);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n React.useEffect(() => {\r\n if (props.data) {\r\n //console.log(props.data);\r\n setMediaArray(props.data.media);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setSceneIndex(props.index);\r\n setTimer(props.timer);\r\n\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n \r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n {typeof mediaArray != undefined ? (\r\n
    \r\n
    \r\n {props.data ? (\r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n\r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n ) : null}\r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneOne;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwo = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n // console.log(props.content)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwo;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThree = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n {content}\r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThree;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFive = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFive;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneSix = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false)}\r\n key={single.key}\r\n style={{\r\n \"font-size\": props.data.textSize + \"px\",\r\n color: props.data.textColor,\r\n \"line-height\": props.data.textlineHeight,\r\n fontFamily: props.data.fontFamily,\r\n fontWeight: props.data.fontWeight,\r\n }}\r\n className={\r\n \"child-container form-control editable-div size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n // onChange={getcontent}\r\n value={content}\r\n >\r\n {content}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n // setshowbg(true, data.url, data.type, false, index)\r\n // }\r\n // onDragOver={(e) => handleDrop(e)}\r\n // onDrop={(e) => handleDropComplete(e, index)}\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneSix;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneSeven = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {mediaArray.length > 0\r\n ? mediaArray.map((data, index) => {\r\n return index < 2 ? (\r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : null;\r\n })\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {mediaArray.length > 0\r\n ? mediaArray.map((data, index) => {\r\n return index > 1 ? (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ) : null;\r\n })\r\n : null}\r\n
    \r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneSeven;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneEight= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n {content}\r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneEight;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneNine= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneNine;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneEleven= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n {content}\r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneEleven;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwelve = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n console.log(data)\r\n return (\r\n
    \r\n {data.type == \"video\" ? (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwelve;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirteen = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n // console.log(props.content)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirteen;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourteen = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false)}\r\n key={single.key}\r\n style={{\r\n \"font-size\": props.data.textSize + \"px\",\r\n color: props.data.textColor,\r\n \"line-height\": props.data.textlineHeight,\r\n fontFamily: props.data.fontFamily,\r\n fontWeight: props.data.fontWeight,\r\n }}\r\n className={\r\n \"child-container form-control editable-div size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n // onChange={getcontent}\r\n value={content}\r\n >\r\n {content}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n // setshowbg(true, data.url, data.type, false, index)\r\n // }\r\n // onDragOver={(e) => handleDrop(e)}\r\n // onDrop={(e) => handleDropComplete(e, index)}\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourteen;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFifteen = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFifteen;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneSixteen = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false)}\r\n layout={layout}\r\n //onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneSixteen;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneSeventeen = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n :null \r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? ( \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ): null\r\n \r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneSeventeen;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneEighteen= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n // console.log(props.content)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneEighteen;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneNineteen = (props) => {\r\n console.log(props)\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, 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
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneNineteen;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwenty = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwenty;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentyOne = (props) => {\r\n console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentyOne;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentyTwo= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n // console.log(props.content)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentyTwo;\r\n","import React from \"react\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport HOC from \"./HOC\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nconst PlayerSceneThirtySeven = (props) => {\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n // const [activeScene, setActiveScene] = React.useState(false);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n React.useEffect(() => {\r\n if (props.data) {\r\n console.log(props.data.media);\r\n setMediaArray(props.data.media);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setSceneIndex(props.index);\r\n setTimer(props.timer);\r\n\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n {typeof mediaArray != undefined ? (\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index <= 2 ? (\r\n
    \r\n ) : props.data.media ? (\r\n
    \r\n \r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n \r\n ) : null}\r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtySeven;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirtyEight = (props) => {\r\n console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtyEight;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirtyNine= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n // console.log(props.content)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtyNine;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourty = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n console.log(props.data)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourty;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourtyOne = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n console.log(props.data)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourtyOne;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentyThree = (props) => {\r\n console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentyThree;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentyFive = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false)}\r\n key={single.key}\r\n style={{\r\n \"font-size\": props.data.textSize + \"px\",\r\n color: props.data.textColor,\r\n \"line-height\": props.data.textlineHeight,\r\n fontFamily: props.data.fontFamily,\r\n fontWeight: props.data.fontWeight,\r\n }}\r\n className={\r\n \"child-container form-control editable-div size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n // onChange={getcontent}\r\n value={content}\r\n >\r\n {content}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n // setshowbg(true, data.url, data.type, false, index)\r\n // }\r\n // onDragOver={(e) => handleDrop(e)}\r\n // onDrop={(e) => handleDropComplete(e, index)}\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentyFive;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentyFour= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false)}\r\n layout={layout}\r\n //onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentyFour;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentySix = (props) => {\r\n console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\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 ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentySix;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentySeven= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n // console.log(props.content)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentySeven;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentyEight = (props) => {\r\n console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentyEight;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneTwentyNine = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n {mediaArray.length > 0\r\n ? mediaArray.map((data, index) => {\r\n return index < 2 ? (\r\n \r\n \r\n {/* */}\r\n
    \r\n
    \r\n ) : null;\r\n })\r\n : null}\r\n
    \r\n\r\n
    \r\n {mediaArray.length > 0\r\n ? mediaArray.map((data, index) => {\r\n return index > 1 ? (\r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneTwentyNine;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirty = (props) => {\r\n console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirty;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirtyOne= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false)}\r\n layout={layout}\r\n //onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtyOne;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirtyTwo = (props) => {\r\n \r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n\r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtyTwo;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourtyEight= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n // console.log(props.content)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourtyEight;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourtyNine = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false)}\r\n key={single.key}\r\n style={{\r\n \"font-size\": props.data.textSize + \"px\",\r\n color: props.data.textColor,\r\n \"line-height\": props.data.textlineHeight,\r\n fontFamily: props.data.fontFamily,\r\n fontWeight: props.data.fontWeight,\r\n }}\r\n className={\r\n \"child-container form-control editable-div size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n // onChange={getcontent}\r\n value={content}\r\n >\r\n {content}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n // setshowbg(true, data.url, data.type, false, index)\r\n // }\r\n // onDragOver={(e) => handleDrop(e)}\r\n // onDrop={(e) => handleDropComplete(e, index)}\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourtyNine;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFifty = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n :null \r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? ( \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ): null\r\n \r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFifty;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirtyThree= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n // console.log(props.content)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtyThree;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirtySix = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtySix;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirtyFour = (props) => {\r\n\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtyFour;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneThirtyFive = (props) => {\r\n\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneThirtyFive;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourtyTwo = (props) => {\r\n console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourtyTwo;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourtyThree= (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(props.data.content.length);\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n React.useEffect(() => {\r\n console.log(props.data)\r\n setContent(props.data.content);\r\n setMediaArray(props.data.media);\r\n setCounter(props.data.content.length);\r\n if (props.data) {\r\n setContent(props.data.content);\r\n setCounter(props.data.content.length);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, 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 : null}\r\n
    \r\n \r\n {mediaArray.map((data, 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 \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourtyThree;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourtyFour = (props) => {\r\n console.log(props);\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourtyFour;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourtyFive = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourtyFive;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../Utility/Utility\";\r\nimport HOC from \"./HOC\";\r\nconst PlayerSceneFourtySix = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState(props.data.media);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.data.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n speed: 1000,\r\n autoplaySpeed: 2000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n if (props.data) {\r\n setMediaArray(props.data.media);\r\n //console.log(props.data.content);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneFourtySix;\r\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport trash from \"./../../../Assets/images/templates/trash.svg\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport PlayerSceneOne from \"./../Player/Scene1\";\nimport PlayerSceneTwo from \"./../Player/Scene2\";\nimport PlayerSceneThree from \"./../Player/Scene3\";\nimport PlayerSceneFour from \"./../Player/Scene4\";\nimport PlayerSceneFive from \"./../Player/Scene5\";\nimport PlayerSceneSix from \"./../Player/Scene6\";\nimport PlayerSceneSeven from \"./../Player/Scene7\";\nimport PlayerSceneEight from \"./../Player/Scene8\";\nimport PlayerSceneNine from \"./../Player/Scene9\";\nimport PlayerSceneTen from \"./../Player/Scene10\";\nimport PlayerSceneEleven from \"./../Player/Scene11\";\nimport PlayerSceneTwelve from \"./../Player/Scene12\";\nimport PlayerSceneThirteen from \"./../Player/Scene13\";\nimport PlayerSceneFourteen from \"./../Player/Scene14\";\nimport PlayerSceneFifteen from \"./../Player/Scene15\";\nimport PlayerSceneSixteen from \"./../Player/Scene16\";\nimport PlayerSceneSeventeen from \"./../Player/Scene17\";\nimport PlayerSceneEighteen from \"./../Player/Scene18\";\nimport PlayerSceneNineteen from \"./../Player/Scene19\";\nimport PlayerSceneTwenty from \"./../Player/Scene20\";\nimport PlayerSceneTwentyOne from \"./../Player/Scene21\";\nimport PlayerSceneTwentyTwo from \"./../Player/Scene22\";\n\nimport PlayerSceneThirtySeven from \"./../Player/Scene37\";\nimport PlayerSceneThirtyEight from \"./../Player/Scene38\";\nimport PlayerSceneThirtyNine from \"./../Player/Scene39\";\nimport PlayerSceneFourty from \"./../Player/Scene40\";\nimport PlayerSceneFourtyOne from \"./../Player/Scene41\";\nimport PlayerSceneTwentyThree from \"./../Player/Scene23\";\nimport PlayerSceneTwentyFive from \"./../Player/Scene25\";\nimport PlayerSceneTwentyFour from \"./../Player/Scene24\";\nimport PlayerSceneTwentySix from \"./../Player/Scene26\";\nimport PlayerSceneTwentySeven from \"./../Player/Scene27\";\nimport PlayerSceneTwentyEight from \"./../Player/Scene28\";\nimport PlayerSceneTwentyNine from \"./../Player/Scene29\";\nimport PlayerSceneThirty from \"./../Player/Scene30\";\nimport PlayerSceneThirtyOne from \"./../Player/Scene31\";\nimport PlayerSceneThirtyTwo from \"./../Player/Scene32\";\nimport PlayerSceneFourtySeven from \"./../Player/Scene47\";\nimport PlayerSceneFourtyEight from \"./../Player/Scene48\";\nimport PlayerSceneFourtyNine from \"./../Player/Scene49\";\nimport PlayerSceneFifty from \"./../Player/Scene50\";\nimport PlayerSceneThirtyThree from \"./../Player/Scene33\";\nimport PlayerSceneThirtySix from \"./../Player/Scene36\";\nimport PlayerSceneThirtyFour from \"./../Player/Scene34\";\nimport PlayerSceneThirtyFive from \"./../Player/Scene35\";\nimport PlayerSceneFourtyTwo from \"./../Player/Scene42\";\nimport PlayerSceneFourtyThree from \"./../Player/Scene43\";\nimport PlayerSceneFourtyFour from \"./../Player/Scene44\";\nimport PlayerSceneFourtyFive from \"./../Player/Scene45\";\nimport PlayerSceneFourtySix from \"./../Player/Scene46\";\nconst Box = ({\n boxWidth,\n boxBg,\n boxId,\n sceneId,\n boxLink,\n handleDrag,\n handleDrop,\n confirmDelete,\n deleteFalse,\n length,\n sceneData,\n sceneNumber,\n}) => {\n //console.log(sceneId);\n return (\n ev.preventDefault()}\n onDragStart={deleteFalse == false ? null : handleDrag}\n onDrop={deleteFalse == false ? null : handleDrop}\n style={{\n backgroundImage: \"url(\" + boxBg + \") \",\n width: boxWidth + \"px\",\n minWidth: boxWidth + \"px\",\n }}\n >\n {sceneNumber == 1 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 2 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 3 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 4 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 5 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 6 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 7 ? (\n
    \n \n
    \n ) : null}\n\n {sceneNumber == 8 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 9 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 10 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 11 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 12 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 13 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 14 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 15 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 16 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 17 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 18 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 19 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 20 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 21 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 22 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 23 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 24 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 25 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 26 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 27 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 28 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 29 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 30 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 31 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 32 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 33 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 34 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 35 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 36 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 37 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 38 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 39 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 40 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 41 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 42 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 43 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 44 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 45 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 46 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 47 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 48 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 49 ? (\n
    \n \n
    \n ) : null}\n {sceneNumber == 50 ? (\n
    \n \n
    \n ) : null}\n {boxId != sceneId && length > 1 ? (\n deleteFalse != false ? (\n confirmDelete(boxId)}\n />\n ) : null\n ) : null}\n \n \n );\n};\n\nexport default Box;\n","import React from \"react\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport Loader from \"./../../../Utility/Loader/Loader\";\nimport {\n apiUploadMedia,\n apigetMusicUploads,\n apiupdateAdminTemplate,\n apiPath,\n} from \"./../../../Utility/Utility\";\nimport {\n Button,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n TabContent,\n TabPane,\n Nav,\n NavItem,\n NavLink,\n Card,\n Row,\n Col,\n CardTitle,\n CardText,\n} from \"reactstrap\";\nimport classnames from \"classnames\";\nimport { Checkboard } from \"react-color\";\nconst MediaUpload = (props) => {\n const { buttonLabel, className } = props;\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const [userId, setUserId] = React.useState(\"\");\n const [audioPlayId, setAudioPlayId] = React.useState(\"\");\n const [processing, setProcessing] = React.useState(false);\n const [active, setActive] = React.useState(false);\n const [mediaList, setMediaList] = React.useState([]);\n const [mediaListEmpty, setMediaListEmpty] = React.useState(true);\n const [usermediaList, setUserMediaList] = React.useState([]);\n const [usermediaListEmpty, setUserMediaListEmpty] = React.useState(true);\n const [selectedMedia, setSelectedMedia] = React.useState(\"\");\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\n const [x, setX] = React.useState(\"\");\n const [y, setY] = React.useState(0);\n const [audioId, setAudioId] = React.useState(\"\");\n const {\n params: { templateId },\n } = match;\n const {\n params: { sceneId },\n } = match;\n function getUploads() {\n axios.get(`${apigetMusicUploads}`, {}).then(function (response) {\n if (response.data.data) {\n // console.log(response.data.data);\n setMediaList(response.data.data);\n setMediaListEmpty(false);\n } else {\n setMediaListEmpty(true);\n }\n });\n axios\n .get(`${apigetMusicUploads}` + \"?userId=\" + userId, {})\n .then(function (response) {\n if (response.data.data) {\n // console.log(response.data.data);\n setUserMediaList(response.data.data);\n setUserMediaListEmpty(false);\n } else {\n setUserMediaListEmpty(true);\n }\n });\n }\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n // console.log(decoded.id)\n setUserId(decoded.id);\n }\n getUploads();\n }, [userId]);\n function setformImage(e) {\n var parts = e.target.files[0].type.split(\"/\");\n var result = parts[0];\n if (e.target.files[0] != \"\") {\n const data = new FormData();\n data.append(\"file\", e.target.files[0]);\n data.append(\"userId\", userId);\n data.append(\"adminMedia\", false);\n setProcessing(true);\n axios\n .post(`${apiUploadMedia}`, data)\n .then((response) => {\n setProcessing(false);\n let fileUrl = response.data.message\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = imageUrl;\n getUploads();\n })\n .catch((error) => {});\n }\n }\n const playAudio = (audio) => {\n if (audioId != \"\") {\n if (audioId == audio) {\n if (y == 1) {\n pauseAudio(x);\n setY(0);\n setAudioPlayId(\"\");\n } else {\n playAudio(x);\n setY(1);\n setAudioPlayId(audio);\n }\n } else {\n pauseAudio(x);\n setAudioId(audio);\n let audiox = document.getElementById(audio);\n setX(audiox);\n playAudio(audiox);\n setAudioPlayId(audio);\n setY(1);\n }\n } else {\n setAudioId(audio);\n setAudioPlayId(audio);\n let audiox = document.getElementById(audio);\n setAudioId(audio);\n setX(audiox);\n playAudio(audiox);\n setY(1);\n }\n\n function playAudio(audioToplay) {\n audioToplay.play();\n }\n };\n function pauseAudio(audioTopause) {\n audioTopause.pause();\n }\n function savemedia() {\n if (selectedMedia) {\n axios\n .put(`${apiupdateAdminTemplate}${templateId}`, {\n id: templateId,\n musicFile: selectedMedia,\n })\n .then(function (response) {\n props.saveMedia();\n if (audioPlayId) {\n pauseAudio(x);\n setAudioPlayId(\"\");\n setY(0);\n }\n props.toggle2();\n });\n }\n }\n function setMusicFile(e) {\n setSelectedMedia(e.target.value);\n }\n function closeModal() {\n if (audioPlayId) {\n pauseAudio(x);\n setAudioPlayId(\"\");\n setY(0);\n }\n\n props.toggle2();\n }\n return (\n \n Project music\n \n
    \n \n \n \n \n \n

    Music List

    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    No music
    \n
    \n
    \n {mediaList.map((block, index) => {\n let fileUrl = block.path\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let mediaurl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = mediaurl;\n let mediaName = block.originalname.replace(\".mp3\", \"\");\n return (\n
    \n
    \n \n
    \n\n \n playAudio(\"audio\" + index)}\n className=\"mediaPlayback\"\n type=\"button\"\n >\n \n \n \n \n\n
    {mediaName}
    \n {/*
    4:51
    */}\n
    \n
    \n );\n })}\n
    \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n setformImage(e)}\n />\n
    \n
    \n
    Add music
    \n
    \n
    \n

    My Uploads

    \n {usermediaListEmpty ? (\n
    \n You have no previous uploads\n
    \n ) : (\n
    \n {usermediaList.map((block, index) => {\n let fileUrl = block.path\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let mediaurl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = mediaurl;\n let mediaName = block.originalname.replace(\n \".mp3\",\n \"\"\n );\n return (\n
    \n
    \n \n
    \n playAudio(\"audio-\" + index)}\n className=\"mediaPlayback\"\n type=\"button\"\n >\n \n \n \n \n \n
    {mediaName}
    \n {/*
    4:51
    */}\n
    \n
    \n );\n })}\n
    \n )}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n );\n};\nexport default MediaUpload;\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport HOC from \"./HOC\";\r\nimport { apiPath } from \"./../../../Utility/Utility\";\r\nconst PlayerSceneLast = (props) => {\r\n const [sceneIndex, setSceneIndex] = React.useState(props.index);\r\n const [sceneActive, setSceneActive] = React.useState(false);\r\n const [activeClass, setActiveClass] = React.useState(false);\r\n const [timer, setTimer] = React.useState(props.timer);\r\n const [sceneTime, setSceneTime] = React.useState(props.data.time);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, settextArray] = React.useState([]);\r\n var textArrays = [];\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n }\r\n React.useEffect(() => {\r\n if (props.data.media) {\r\n setMediaArray(props.data.media);\r\n }\r\n //console.log(props.data.textArray);\r\n if (props.data.textArray != undefined){\r\n\r\n \r\n settextArray(props.data.textArray);\r\n }\r\n textArrays = props.data.textArray;\r\n \r\n var timeout, activeClassTimer;\r\n clearTimeout(timeout);\r\n clearTimeout(activeClassTimer);\r\n if (props.index == 0) {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n timeout = setTimeout(function () {\r\n setActiveClass(false);\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000);\r\n } else {\r\n timeout = setTimeout(function () {\r\n setSceneActive(true);\r\n activeClassTimer = setTimeout(function () {\r\n setActiveClass(true);\r\n }, 100);\r\n setTimeout(function () {\r\n if (props.show) {\r\n setActiveClass(true);\r\n } else {\r\n setActiveClass(false);\r\n }\r\n\r\n clearTimeout(timeout);\r\n }, parseFloat(props.time) * 1000 + 105);\r\n }, parseFloat(props.timer) * 1000);\r\n }\r\n }, [textArrays]);\r\n\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n };\r\n props.getContent(newArr);\r\n }\r\n return (\r\n \r\n {sceneActive ? (\r\n \r\n
    \r\n
    \r\n
    \r\n {mediaArray.length > 0 ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n {textArray.length > 0 && textArray != undefined && textArray.length != undefined\r\n ? textArray.map((data, index) => {\r\n return (\r\n \r\n setshowbg(false, \"\", \"\", false, \"\", index)\r\n }\r\n >\r\n getcontent(e, index)}\r\n >\r\n
    \r\n );\r\n })\r\n : null}\r\n\r\n {mediaArray.length > 0 ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\nexport default PlayerSceneLast;\r\n","import React from \"react\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport { Link } from \"react-router-dom\";\r\nimport trash from \"./../../../Assets/images/templates/trash.svg\";\r\nimport update from \"./../../../Assets/images/templates/update.png\";\r\nimport HOC from \"./../Player/HOC\";\r\nimport axios from \"axios\";\r\nimport $ from \"jquery\";\r\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport Loader from \"./../../../Utility/Loader/Loader\";\r\nimport Box from \"./Box\";\r\nimport MediaUpload from \"./MediaUpload\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\nimport {\r\n apiPath,\r\n apideleteBlock,\r\n apiUpdateBlock,\r\n apiGetLastScene,\r\n} from \"./../../../Utility/Utility\";\r\n\r\nimport PlayerSceneLast from \"./../Player/SceneLast\";\r\nconst BottomSection = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n\r\n const [activeTab, setActiveTab] = React.useState(\"1\");\r\n\r\n const toggles = (tab) => {\r\n if (activeTab !== tab) setActiveTab(tab);\r\n };\r\n const [showStop, setShowStop] = React.useState(false);\r\n const [lastScenetime, setLastScenetime] = React.useState(\"\");\r\n const [lastSceneData, setLastSceneData] = React.useState([]);\r\n const [lastSceneDatas, setLastSceneDatas] = React.useState(\"\");\r\n const [processing, setProcessing] = React.useState(false);\r\n const [dragId, setDragId] = React.useState();\r\n const [blockCount, setblockCount] = React.useState(\"1\");\r\n const [blockIndex, setBlockIndex] = React.useState(\"\");\r\n const [blockToDelete, setblockToDelete] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userPlan, setUserPlan] = React.useState(\"\");\r\n\r\n const { buttonLabel, className } = props;\r\n\r\n const [modal, setModal] = React.useState(false);\r\n const [modal2, setModal2] = React.useState(false);\r\n const [modal3, setModal3] = React.useState(false);\r\n const toggle = () => setModal(!modal);\r\n const toggle2 = () => setModal2(!modal2);\r\n const toggle3 = () => setModal3(!modal3);\r\n const [playerTime, setPlayerTime] = React.useState();\r\n const [sceneData, setSceneData] = React.useState(props.bottomData.blocks);\r\n\r\n function addScene() {\r\n props.showAddScene(\"true\", props.scene);\r\n }\r\n function hideScene() {\r\n props.showAddScene(false, \"\");\r\n }\r\n var rows = [];\r\n for (var i = 0; i < playerTime; i++) {\r\n rows.push(i);\r\n }\r\n\r\n var i, elmnt, widthElement;\r\n var elem = document.getElementById(\"progress\");\r\n var bar = document.getElementById(\"progressBar\");\r\n\r\n var width = 0;\r\n var id;\r\n function move() {\r\n elmnt = document.getElementById(\"scene-section\");\r\n widthElement = elmnt.offsetWidth;\r\n if (i == 0) {\r\n i = 1;\r\n window.myVar = setInterval(frame, 500);\r\n elem.classList.add(\"isPlaying\");\r\n bar.classList.add(\"isPlayings\");\r\n }\r\n }\r\n function frame() {\r\n if (width >= playerTime * 80) {\r\n elem.classList.remove(\"isPlaying\");\r\n bar.classList.remove(\"isPlayings\");\r\n width = 0;\r\n elem.style.width = width + \"px\";\r\n bar.style.width = width + \"px\";\r\n clearInterval(window.myVar);\r\n i = 0;\r\n setShowStop(false);\r\n props.playVideo(false);\r\n if (props.bottomData.musicFile) {\r\n let audiox = document.getElementById(\"playerAudio\");\r\n pauseAudio(audiox);\r\n }\r\n } else {\r\n if (width >= widthElement) {\r\n elmnt.scrollLeft += widthElement;\r\n widthElement = 2 * widthElement;\r\n }\r\n width = width + 40;\r\n elem.style.width = width + \"px\";\r\n bar.style.width = width + \"px\";\r\n }\r\n }\r\n\r\n function checkScroll() {\r\n const element = document.getElementById(sceneId);\r\n if (element != null) {\r\n let pos = element.offsetLeft;\r\n\r\n elmnt = document.getElementById(\"scene-section\");\r\n elmnt.scrollLeft += pos - 150;\r\n }\r\n }\r\n function playScene() {\r\n props.playVideo(true);\r\n i = 0;\r\n setShowStop(true);\r\n if (props.bottomData.musicFile) {\r\n let audiox = document.getElementById(\"playerAudio\");\r\n playAudio(audiox);\r\n }\r\n move();\r\n }\r\n function stopScene() {\r\n props.playVideo(false);\r\n clearInterval(window.myVar);\r\n elem.classList.remove(\"isPlaying\");\r\n bar.classList.remove(\"isPlayings\");\r\n width = 0;\r\n elem.style.width = width + \"px\";\r\n bar.style.width = width + \"px\";\r\n setShowStop(false);\r\n if (props.bottomData.musicFile) {\r\n let audiox = document.getElementById(\"playerAudio\");\r\n pauseAudio(audiox);\r\n }\r\n }\r\n const handleStop = (e, data) => {\r\n console.log(\"Event: \", e);\r\n console.log(\"Data: \", data);\r\n };\r\n React.useEffect(() => {\r\n var time = 0;\r\n sceneData.map((scene) => {\r\n time = parseFloat(time) + parseFloat(scene.sceneData.time);\r\n });\r\n\r\n if (props.lastsceneExclude == undefined) {\r\n axios\r\n .get(`${apiGetLastScene}` + \"?id=\" + templateId, {})\r\n .then(function (response) {\r\n console.log(response)\r\n console.log('props.lastsceneExclude')\r\n setPlayerTime(parseFloat(time) + response.data.scene.sceneData.time);\r\n setLastScenetime(response.data.scene.sceneData.time);\r\n setLastSceneData(response.data.scene);\r\n setLastSceneDatas(response.data.scene.sceneData);\r\n });\r\n }\r\n\r\n setPlayerTime(time);\r\n function handleResize() {\r\n let intViewportHeight = window.innerHeight;\r\n let headerHeight = $(\".header\").height();\r\n let templateHeader = $(\".template-new-wrapper-top\").height();\r\n $(\".outervh\").css(\r\n \"height\",\r\n intViewportHeight - headerHeight - templateHeader - 250\r\n );\r\n }\r\n window.addEventListener(\"resize\", handleResize);\r\n // console.log(props.bottomData.musicFile)\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n // console.log(decoded)\r\n setUserPlan(decoded.userPlan);\r\n }\r\n setTimeout(function () {\r\n checkScroll();\r\n }, 1000);\r\n }, []);\r\n\r\n function confirmDelete(id) {\r\n setModal(!modal);\r\n setblockToDelete(id);\r\n }\r\n function deleteBlock() {\r\n setModal(!modal);\r\n setProcessing(true);\r\n let blockId = blockToDelete;\r\n axios\r\n .delete(`${apideleteBlock}`, {\r\n params: {\r\n blockId: blockId,\r\n },\r\n })\r\n .then(function (response) {\r\n //console.log(response.data.message)\r\n if (response.data.message) {\r\n setProcessing(false);\r\n } else {\r\n setProcessing(false);\r\n }\r\n window.location.reload();\r\n });\r\n }\r\n\r\n const handleDrag = (ev) => {\r\n setDragId(ev.currentTarget.id);\r\n };\r\n\r\n const handleDrop = async (ev) => {\r\n const dragBox = sceneData.find((box) => box._id === dragId);\r\n const dropBox = sceneData.find((box) => box._id === ev.currentTarget.id);\r\n const dragBoxOrder = dragBox.order;\r\n const dropBoxOrder = dropBox.order;\r\n\r\n const newBoxState = sceneData.map((box, index) => {\r\n if (box._id === dragId) {\r\n box.order = dropBoxOrder;\r\n }\r\n if (box._id === ev.currentTarget.id) {\r\n box.order = dragBoxOrder;\r\n }\r\n return box;\r\n });\r\n setSceneData(newBoxState);\r\n\r\n await newBoxState.map((box, index) => {\r\n axios\r\n .put(`${apiUpdateBlock}/${box._id}`, {\r\n id: box._id,\r\n order: box.order,\r\n })\r\n .then(function (response) {\r\n props.reFetchData();\r\n });\r\n });\r\n };\r\n const showMedia = () => {\r\n setModal2(!modal2);\r\n };\r\n const saveMedia = () => {\r\n props.reFetchData();\r\n };\r\n function playAudio(audioToplay) {\r\n audioToplay.play();\r\n }\r\n function pauseAudio(audioTopause) {\r\n if (props.bottomData.musicFile) {\r\n audioTopause.currentTime = 0;\r\n audioTopause.pause();\r\n }\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    Length: {playerTime}s
    */}\r\n
    \r\n {showStop ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n = 2 ? toggle3 : addScene\r\n }\r\n >\r\n \r\n Plus\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n 0.{playerTime}\r\n {/* {showStop ? \"Stop\" : \"Play\"} */}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {rows.map((data, index) => {\r\n return (\r\n
    \r\n {index}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n {rows.map((data, index) => {\r\n return
    {index}
    ;\r\n })}\r\n
    \r\n
    */}\r\n \r\n \r\n \r\n {sceneData\r\n .sort((a, b) => a.order - b.order)\r\n .map((scene, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n\r\n {\r\n lastSceneData.sceneThumbnail ? (\r\n \r\n\r\n
    \r\n \r\n {lastSceneData._id != sceneId ? (\r\n confirmDelete(lastSceneData._id, \"lastscene\")}\r\n />\r\n )\r\n : null\r\n}\r\n
    \r\n\r\n \r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {/*
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n Add Scene\r\n
    */}\r\n
    \r\n \r\n
    \r\n \r\n Delete Block\r\n \r\n

    Are you sure you want to delete this block?

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n Upgrade To Premium Plan \r\n \r\n \"Upgrade\"\r\n

    \r\n You are currenly using our free plan.\r\n
    \r\n You need to upgrade your plan to add more scenes.
    \r\n We have 2 Premium plans that fulfill your needs.\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Upgrade\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {props.bottomData.musicFile ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n );\r\n};\r\nexport default BottomSection;\r\n","/* eslint-disable eqeqeq */\nimport React from \"react\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport Loader from \"../../../Utility/Loader/Loader\";\nimport {\n apiUploadMedia,\n apigetMusicUploads,\n apiupdateAdminTemplate,\n apiPath,\n} from \"../../../Utility/Utility\";\nimport {\n TabContent,\n TabPane,\n Nav,\n NavItem,\n NavLink,\n Card,\n Row,\n Col,\n CardTitle,\n CardText,\n} from \"reactstrap\";\nimport classnames from \"classnames\";\nimport backarrow from \"./../../../Assets/images/templates/back-arrow.svg\";\nconst AddMusic = (props) => {\n const { buttonLabel, className } = props;\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const [userId, setUserId] = React.useState(\"\");\n const [audioPlayId, setAudioPlayId] = React.useState(\"\");\n const [processing, setProcessing] = React.useState(false);\n const [successMessage, setSuccessMessage] = React.useState(false);\n const [active, setActive] = React.useState(false);\n const [mediaList, setMediaList] = React.useState([]);\n const [mediaListEmpty, setMediaListEmpty] = React.useState(true);\n const [usermediaList, setUserMediaList] = React.useState([]);\n const [usermediaListEmpty, setUserMediaListEmpty] = React.useState(true);\n const [selectedMedia, setSelectedMedia] = React.useState(\"\");\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\n const [activeTab, setActiveTab] = React.useState(\"1\");\n\n const toggles = (tab) => {\n if (activeTab !== tab) setActiveTab(tab);\n };\n const [x, setX] = React.useState(\"\");\n const [y, setY] = React.useState(0);\n const [audioId, setAudioId] = React.useState(\"\");\n const {\n params: { templateId },\n } = match;\n const {\n params: { sceneId },\n } = match;\n function getUploads() {\n axios.get(`${apigetMusicUploads}`, {}).then(function (response) {\n if (response.data.data) {\n console.log(response.data.data);\n setMediaList(response.data.data);\n setMediaListEmpty(false);\n } else {\n setMediaListEmpty(true);\n }\n });\n axios\n .get(`${apigetMusicUploads}` + \"?userId=\" + userId, {})\n .then(function (response) {\n if (response.data.data) {\n console.log(response.data.data);\n setUserMediaList(response.data.data);\n setUserMediaListEmpty(false);\n } else {\n setUserMediaListEmpty(true);\n }\n });\n }\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n // console.log(decoded.id)\n setUserId(decoded.id);\n }\n getUploads();\n }, [userId]);\n function setformImage(e) {\n var parts = e.target.files[0].type.split(\"/\");\n var result = parts[0];\n if (e.target.files[0] != \"\") {\n const data = new FormData();\n data.append(\"file\", e.target.files[0]);\n data.append(\"userId\", userId);\n data.append(\"adminMedia\", false);\n setProcessing(true);\n axios\n .post(`${apiUploadMedia}`, data)\n .then((response) => {\n setProcessing(false);\n let fileUrl = response.data.message\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = imageUrl;\n getUploads();\n })\n .catch((error) => {});\n }\n }\n const playAudio = (audio) => {\n if (audioId != \"\") {\n if (audioId == audio) {\n if (y == 1) {\n pauseAudio(x);\n setY(0);\n setAudioPlayId(\"\");\n } else {\n playAudio(x);\n setY(1);\n setAudioPlayId(audio);\n }\n } else {\n pauseAudio(x);\n setAudioId(audio);\n let audiox = document.getElementById(audio);\n setX(audiox);\n playAudio(audiox);\n setAudioPlayId(audio);\n setY(1);\n }\n } else {\n setAudioId(audio);\n setAudioPlayId(audio);\n let audiox = document.getElementById(audio);\n setAudioId(audio);\n setX(audiox);\n playAudio(audiox);\n setY(1);\n }\n\n function playAudio(audioToplay) {\n audioToplay.play();\n }\n };\n function pauseAudio(audioTopause) {\n audioTopause.pause();\n }\n function savemedia() {\n setSuccessMessage(false);\n setProcessing(true)\n if (selectedMedia) {\n axios\n .put(`${apiupdateAdminTemplate}${templateId}`, {\n id: templateId,\n musicFile: selectedMedia,\n })\n .then(function (response) {\n props.reFetchData();\n setSuccessMessage(\"true\");\n setProcessing(false)\n if (audioPlayId) {\n pauseAudio(x);\n setAudioPlayId(\"\");\n setY(0);\n }\n });\n }\n }\n function setMusicFile(e) {\n setSelectedMedia(e.target.value);\n }\n\n return (\n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n

    Music List

    \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    No music
    \n
    \n
    \n {mediaList.map((block, index) => {\n let fileUrl = block.path\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let mediaurl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = mediaurl;\n let mediaName = block.originalname.replace(\n \".mp3\",\n \"\"\n );\n return (\n
    \n
    \n \n
    \n\n \n playAudio(\"audio\" + index)}\n className=\"mediaPlayback\"\n type=\"button\"\n >\n \n \n \n \n\n
    {mediaName}
    \n {/*
    4:51
    */}\n
    \n
    \n );\n })}\n
    \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n setformImage(e)}\n />\n
    \n
    \n
    \n Add music\n
    \n
    \n
    \n

    My Uploads

    \n {usermediaListEmpty ? (\n
    \n You have no previous uploads\n
    \n ) : (\n
    \n {usermediaList.map((block, index) => {\n let fileUrl = block.path\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let mediaurl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = mediaurl;\n let mediaName = block.originalname.replace(\n \".mp3\",\n \"\"\n );\n return (\n
    \n
    \n \n
    \n \n playAudio(\"audio-\" + index)\n }\n className=\"mediaPlayback\"\n type=\"button\"\n >\n \n \n \n \n \n
    {mediaName}
    \n {/*
    4:51
    */}\n
    \n
    \n );\n })}\n
    \n )}\n
    \n
    \n \n
    \n
    \n
    \n
    \n {successMessage ? (\n
    \n Success! Music added successfully.\n
    \n ) : null}\n \n
    \n
    \n
    \n
    \n
    \n );\n};\nexport default AddMusic;\n","import React from \"react\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\nexport default [\r\n\r\n {\r\n selector: '[data-tut=\"reactour__1\"]',\r\n content: `This is our canvas where you add you images and text.`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__2\"]',\r\n content: `Here you can upload image by drag and drop`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__3\"]',\r\n content: `Click on the text and you will see options to edit text`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__4\"]',\r\n content: `Here is the panel of options to edit text where you can set font family, color and other options`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__5\"]',\r\n content: `Click on image and see various options`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__6\"]',\r\n content: `Click on add to add more scenes to the template`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__7\"]',\r\n content: `Click on music to add background music to the template`\r\n },\r\n \r\n {\r\n selector: '[data-tut=\"reactour__8\"]',\r\n content: ` Click on Global Options and you will see option for set text options through out scenes`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__10\"]',\r\n content: `Click here to add more scenes to the template`\r\n },\r\n \r\n \r\n {\r\n selector: '[data-tut=\"reactour__11\"]',\r\n content: `Here you can add title for template`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__12\"]',\r\n content: `You can undo changes`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__13\"]',\r\n content: `You can redo changes`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__9\"]',\r\n content: `Click on edit to see canvas again`\r\n },\r\n {\r\n selector: '[data-tut=\"reactour__14\"]',\r\n content: `After completion click on Export to export your video`\r\n },\r\n // {\r\n // selector: '[data-tut=\"reactour__copy\"]',\r\n // content: `Keep in mind that you could try and test everithing during the Tour. \r\n // For example, try selecting the highlighted text…`\r\n // },\r\n// {\r\n// selector: '[data-tut=\"reactour__style\"]',\r\n// content: () => (\r\n//
    \r\n//

    \r\n// {/* The tourist guide */}\r\n// could be dressed in any way, using custom components, styles and so\r\n// on…\r\n//

    \r\n//

    \r\n// \r\n// Text effect\r\n// {\" \"}\r\n// by{\" \"}\r\n// \r\n// Lucas Bebber\r\n// \r\n//

    \r\n//
    \r\n// ),\r\n// style: {\r\n// backgroundColor: \"black\",\r\n// color: \"white\"\r\n// }\r\n// },\r\n// {\r\n// selector: '[data-tut=\"reactour__goTo\"]',\r\n// content: ({ setCurrentStep }) => (\r\n//
    \r\n// If you wanna go anywhere, skipping places, it is absolutely possible.\r\n//
    \"Oh, I forgot something inside the bus…\"{\" \"}\r\n// setCurrentStep(1)}\r\n// >\r\n// Please go back to{\" \"}\r\n// \r\n// 🚌\r\n// \r\n// \r\n//
    \r\n// )\r\n// },\r\n// {\r\n// selector: '[data-tut=\"reactour__position\"]',\r\n// content: () => (\r\n//

    \r\n// {/* The tourist guide could */}\r\n// be positioned where you want.\r\n//
    In this case will try to stay in the \r\n// left side\r\n// {\" \"}\r\n// if there's available space, otherwise will{\" \"}\r\n// auto position.\r\n//

    \r\n// ),\r\n// position: \"left\"\r\n// },\r\n// {\r\n// selector: '[data-tut=\"reactour__scroll\"]',\r\n// content:\r\n// \"Probably you noted that the Tour scrolled directly to the desired place, and you could control the time also…\"\r\n// },\r\n// {\r\n// selector: '[data-tut=\"reactour__scroll--hidden\"]',\r\n// content: \"Also when places are pretty hidden…\"\r\n// },\r\n// {\r\n// selector: '[data-tut=\"reactour__action\"]',\r\n// content:\r\n// \"When arrived on each place you could fire an action, like… (look at the console)\",\r\n// action: () =>\r\n// console.log(`\r\n// ------------🏠🏚---------\r\n// 🚌 Arrived to explore these beautiful buildings! 🚌\r\n// ------------🏠🏚---------\r\n// 🚧 This action could also fire a method in your Component 🚧\r\n// `)\r\n// },\r\n// {\r\n// selector: '[data-tut=\"reactour__state\"]',\r\n// content:\r\n// \"And the Tour could be observing changes to update the view, try clicking the button…\",\r\n// highlightedSelectors: ['[data-tut=\"reactour__highlighted\"]'],\r\n// mutationObservables: ['[data-tut=\"reactour__highlighted\"]']\r\n// }\r\n];\r\n","/* eslint-disable no-unreachable */\r\n/* eslint-disable no-lone-blocks */\r\n/* eslint-disable array-callback-return */\r\nimport React from \"react\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport PlayerSceneOne from \"./Scene1\";\r\nimport PlayerSceneTwo from \"./Scene2\";\r\nimport PlayerSceneThree from \"./Scene3\";\r\nimport PlayerSceneFour from \"./Scene4\";\r\nimport PlayerSceneFive from \"./Scene5\";\r\nimport PlayerSceneSix from \"./Scene6\";\r\nimport PlayerSceneSeven from \"./Scene7\";\r\nimport PlayerSceneEight from \"./Scene8\";\r\nimport PlayerSceneNine from \"./Scene9\";\r\nimport PlayerSceneTen from \"./Scene10\";\r\nimport PlayerSceneEleven from \"./Scene11\";\r\nimport PlayerSceneTwelve from \"./Scene12\";\r\nimport PlayerSceneThirteen from \"./Scene13\";\r\nimport PlayerSceneFourteen from \"./Scene14\";\r\nimport PlayerSceneFifteen from \"./Scene15\";\r\nimport PlayerSceneSixteen from \"./Scene16\";\r\nimport PlayerSceneSeventeen from \"./Scene17\";\r\nimport PlayerSceneEighteen from \"./Scene18\";\r\nimport PlayerSceneNineteen from \"./Scene19\";\r\nimport PlayerSceneTwenty from \"./Scene20\";\r\nimport PlayerSceneTwentyOne from \"./Scene21\";\r\nimport PlayerSceneTwentyTwo from \"./Scene22\";\r\n\r\nimport PlayerSceneThirtySeven from \"./Scene37\";\r\nimport PlayerSceneThirtyEight from \"./Scene38\";\r\nimport PlayerSceneThirtyNine from \"./Scene39\";\r\nimport PlayerSceneFourty from \"./Scene40\";\r\nimport PlayerSceneFourtyOne from \"./Scene41\";\r\nimport PlayerSceneTwentyThree from \"./Scene23\";\r\nimport PlayerSceneTwentyFive from \"./Scene25\";\r\nimport PlayerSceneTwentyFour from \"./Scene24\";\r\nimport PlayerSceneTwentySix from \"./Scene26\";\r\nimport PlayerSceneTwentySeven from \"./Scene27\";\r\nimport PlayerSceneTwentyEight from \"./Scene28\";\r\nimport PlayerSceneTwentyNine from \"./Scene29\";\r\nimport PlayerSceneThirty from \"./Scene30\";\r\nimport PlayerSceneThirtyOne from \"./Scene31\";\r\nimport PlayerSceneThirtyTwo from \"./Scene32\";\r\nimport PlayerSceneFourtySeven from \"./Scene47\";\r\nimport PlayerSceneFourtyEight from \"./Scene48\";\r\nimport PlayerSceneFourtyNine from \"./Scene49\";\r\nimport PlayerSceneFifty from \"./Scene50\";\r\nimport PlayerSceneThirtyThree from \"./Scene33\";\r\nimport PlayerSceneThirtySix from \"./Scene36\";\r\nimport PlayerSceneThirtyFour from \"./Scene34\";\r\nimport PlayerSceneThirtyFive from \"./Scene35\";\r\nimport PlayerSceneFourtyTwo from \"./Scene42\";\r\nimport PlayerSceneFourtyThree from \"./Scene43\";\r\nimport PlayerSceneFourtyFour from \"./Scene44\";\r\nimport PlayerSceneFourtyFive from \"./Scene45\";\r\nimport PlayerSceneFourtySix from \"./Scene46\";\r\nimport PlayerSceneLast from \"./SceneLast\";\r\nimport axios from \"axios\";\r\nimport HOC from \"./HOC\";\r\nimport $ from \"jquery\";\r\nimport { apiGetLastScene } from \"./../../../Utility/Utility\";\r\n\r\n\r\nconst Player = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const [blocks, setBlocks] = React.useState(props.blocks);\r\n React.useEffect(() => {\r\n // var myInterval, myVar;\r\n // $(\".player-new section:first-of-type\").addClass(\"active\");\r\n // clearTimeout(myVar);\r\n // var myFunc = function () {\r\n // var cur = $(\".player-new section.active\");\r\n // if (cur.index() == $(\".player-new section\").length - 1) {\r\n // cur.removeClass(\"active\");\r\n // $(\".player-new section:first-of-type\").addClass(\"active\");\r\n // clearInterval(myInterval);\r\n // } else {\r\n // cur.removeClass(\"active\").next().addClass(\"active\");\r\n // }\r\n // };\r\n // //Start Interval\r\n // myVar = setTimeout(function () {\r\n // myInterval = setInterval(myFunc, 4000);\r\n // }, 500);\r\n {\r\n // blocks.map((data, index) => {\r\n // });\r\n }\r\n \r\n axios\r\n .get(`${apiGetLastScene}` + \"?id=\" + templateId, {})\r\n .then(function (response) {\r\n setBlocks((oldArray) => [...oldArray, response.data.scene]);\r\n });\r\n }, []);\r\n var timer = 0;\r\n return (\r\n
    \r\n {blocks.map((data, index) => {\r\n return (\r\n \r\n {data.sceneId == 1 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 2 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 3 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 4 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 5 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 6 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 7 ? (\r\n \r\n ) : null}\r\n\r\n {data.sceneId == 8 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 9 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 10 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 11 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 12 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 13 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 14 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 15 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 16 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 17 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 18 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 19 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 20 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 21 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 22 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 23 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 24 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 25 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 26 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 27 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 28 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 29 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 30 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 31 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 32 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 33 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 34 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 35 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 36 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 37 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 38 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 39 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 40 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 41 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 42 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 43 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 44 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 45 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 46 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 47 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 48 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 49 ? (\r\n \r\n ) : null}\r\n {data.sceneId == 50 ? (\r\n \r\n ) : null}\r\n {data.sceneId == \"last\" ? (\r\n \r\n ) : null}\r\n\r\n
    \r\n {\" \"}\r\n {(timer = parseFloat(timer) + parseFloat(data.sceneData.time))}\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n );\r\n};\r\nexport default Player;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport Scene1 from \"./Scene1\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nimport { disableBodyScroll, enableBodyScroll } from \"body-scroll-lock\";\r\nimport steps from \"./../../Guide/steps\"\r\nimport Tour from \"reactour\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\n\r\nconst TemplateNew1 = (props) => {\r\n const disableBody = target => disableBodyScroll(target);\r\n const enableBody = target => enableBodyScroll(target);\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/1/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [isTourOpen, setIsTourOpen] = React.useState(false);\r\n const [isShowingMore, setIsShowingMore] = React.useState(false);\r\n\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [processing, setProcessing] = React.useState(true);\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n time: time,\r\n };\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setTextlineHeight(lineHeight);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getTextSize(size) {\r\n setTextSize(size);\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n console.log(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n // setAddScene(false)\r\n setAddMusic(media);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n // getData()\r\n }\r\n setAddMedia(media);\r\n\r\n getData();\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index, newArrs) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // setBgType(mediaType);\r\n // setBgScene(mediaFile);\r\n // let newArr = [...mediaArray]; // copying the old datas array\r\n // newArr[index] = {\r\n // type: mediaType,\r\n // url: mediaFile,\r\n // };\r\n // console.log(newArr)\r\n // // setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArrs,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n getData();\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n setProcessing(false);\r\n if (response.data.data.length > 0) {\r\n // console.log(response.data.data);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n\r\n if (response.data.data[0].blocks.length > 0) {\r\n setTemplateTitle(response.data.data[0].title);\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setBlocks(response.data.data[0].blocks);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 1) {\r\n // if (undoData.length == 0) {\r\n setUpatedData(block.sceneData);\r\n //}\r\n //console.log(\"herer\");\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n\r\n // console.log(block)\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n // getData();\r\n }, [userId]);\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n console.log(data);\r\n setMediaArray(data.media);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n // if (data != \"undefined\" && undoCount == true) {\r\n // setUndoData((prevState) => [...prevState, upatedData]);\r\n // }\r\n // getData();\\\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n const toggleShowMore = () => {\r\n setIsShowingMore(!isShowingMore)\r\n };\r\n\r\n const closeTour = () => {\r\n setIsTourOpen(false)\r\n };\r\n const showTour = () => {\r\n setIsTourOpen(true)\r\n };\r\n const accentColor = \"#5cb7b7\";\r\n return (\r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : mediaArray && data ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    Guide
    \r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateNew1;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwo = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n swipe: false,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n\r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n const slidePre = (index) => {\r\n console.log(index)\r\n console.log('index');\r\n slider1.current.slickGoTo(index);\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragEnd={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n {...settings2}\r\n focusOnSelect={true}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    slidePre(index)}>\r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneTwo;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneTwo from \"./Scene2\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene2 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/2/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time:time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 2) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setTime(block.sceneData.time)\r\n setData(block.sceneData);\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene2;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThree = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();\r\n const [processing, setProcessing] = React.useState(false);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container,textshows) {\r\n\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n swipe: false,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 78;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: true }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n {/* {textShow ?
    {78 - content.length}
    : null} */}\r\n {textShow && content.length >= 58 ?
    = 78 ? \"char-counter left red\" : \"char-counter left\"}> {78 - content.length}
    : null}\r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneThree;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneThree from \"./Scene3\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene3 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/3/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time:time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 3) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene3;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFour from \"./Scene4\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene4 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/4/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 4) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[1].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene4;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFive = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 82;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: true }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 62 ?
    = 82 ? \"char-counter red\" : \"char-counter\"}> {82 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneFive;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFive from \"./Scen5\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene5 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/5/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 5) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene5;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneSix = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 137;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n key={single.key}\r\n style={{\r\n \"font-size\": props.settextSize + \"px\",\r\n color: props.setColor,\r\n \"line-height\": props.setTextLineHeight,\r\n fontFamily: props.data.fontFamily,\r\n fontWeight: props.data.fontWeight,\r\n }}\r\n className={\r\n \"child-container form-control editable-div size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n {content}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 117 ?
    = 137 ? \"char-counter red\" : \"char-counter\"}> {137 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneSix;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSix from \"./Scen6\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene6 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/6/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5.5);\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n console.log(\"here\");\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 6) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene6;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneSeven = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n console.log(scene);\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n console.log(\"here\");\r\n setContent(e.target.value);\r\n props.getContent(e.target.value);\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {mediaArray.length > 0\r\n ? mediaArray.map((data, index) => {\r\n return index < 2 ? (\r\n \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n className=\"bg box-1\"\r\n // style={{\r\n // \"background-image\":\r\n // \"url(\" + apiPath + data.url + \") \",\r\n // }}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n >\r\n \r\n
    \r\n
    \r\n ) : null;\r\n })\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {mediaArray.length > 0\r\n ? mediaArray.map((data, index) => {\r\n return index > 1 ? (\r\n
    \r\n \r\n setshowbg(\r\n true,\r\n data.url,\r\n data.type,\r\n false,\r\n index + 2\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n // style={{\r\n // \"background-image\":\r\n // \"url(\" + apiPath + data.url + \") \",\r\n // }}\r\n >\r\n \r\n
    \r\n
    \r\n ) : null;\r\n })\r\n : null}\r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneSeven;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeven from \"./Scen7\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene7 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/7/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n console.log(\"here\");\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 7) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene7;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneEight = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n console.log(textshows)\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n swipe: false,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n //if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.content);\r\n // }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n // setContent(e.target.value)\r\n // props.getContent(e.target.value)\r\n const maxlimit = 148;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n setshowbg(false, \"\", \"\", false, true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n {textShow && content.length >= 128 ?
    = 148 ? \"char-counter red\" : \"char-counter \"}> {148 - content.length}
    : null}\r\n \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n {...settings2}\r\n focusOnSelect={true}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneEight;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneEight from \"./Scene8\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene8 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/8/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(6);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setFontWeight(fontweight);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setTextAligmnet(alignment);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setContent(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n // console.log(texttransform);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setTextlineHeight(lineHeight);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n setShowGlobal(false);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 8) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene8;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneNine = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n console.log(scene);\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n setContent(e.target.value);\r\n props.getContent(e.target.value);\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n {/* (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"img\"/\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n */}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneNine;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneNine from \"./Scen9\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene9 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/9/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 9) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene9;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneTen from \"./Scene10\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene10 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/10/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 6,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 6,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: 6,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 10) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[0].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[0].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[0].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[0].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene10;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneEleven = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container,textshows) {\r\n \r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n swipe:false,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n \r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n // setContent(e.target.value)\r\n // props.getContent(e.target.value)\r\n const maxlimit = 145;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(false, \"\", \"\", false)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n {/*
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"img\"\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    */}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 125 ?
    = 145 ? \"char-counter red\" : \"char-counter \"}> {145 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneEleven;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneEleven from \"./Scene11\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene11 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/11/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(6);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setFontWeight(fontweight);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setTextAligmnet(alignment);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setContent(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n // console.log(texttransform);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setTextlineHeight(lineHeight);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n setShowGlobal(false);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 11) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n // console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene11;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport axios from \"axios\";\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath, apieditVideos } from \"../../../../Utility/Utility\";\r\nimport { VideoEditor } from \"video-editor\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTweleve = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/12/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [videoEdit, setVideoEdit] = React.useState({});\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const [editActive, setEditActive] = React.useState(false);\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [videoActive, setVideoActive] = React.useState(false);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n console.log(scene);\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const showEditor = () => {\r\n setEditActive(!editActive);\r\n };\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.mediaArray[\"0\"].type == \"video\") {\r\n setVideoActive(true);\r\n } else {\r\n setVideoActive(false);\r\n }\r\n if (props.data) {\r\n // console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n }\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n setContent(e.target.value);\r\n props.getContent(e.target.value);\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n // console.log(e);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n // console.log(imgUrl);\r\n if (imgUrl == \"\") {\r\n setVideoActive(true);\r\n imgUrl = e.dataTransfer.getData(\"video\");\r\n console.log(imgUrl);\r\n props.dropMedia(false, imgUrl, \"video\", 0);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"video\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n } else {\r\n //console.log(\"here\");\r\n setVideoActive(false);\r\n // console.log(imgUrl);\r\n props.dropMedia(false, imgUrl, \"img\", 0);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n }\r\n setDragoverId(0);\r\n };\r\n const updateVideo = (evt) => {\r\n console.log(evt);\r\n setVideoEdit(evt);\r\n };\r\n\r\n const saveVideo = () => {\r\n console.log(mediaArray[0].url);\r\n axios\r\n .post(`${apieditVideos}`, {\r\n path: mediaArray[0].url,\r\n userId: userId,\r\n sceneData: videoEdit,\r\n templateId: templateId,\r\n })\r\n .then(function (response) {\r\n // console.log(response.data.message);\r\n props.dropMedia(false, response.data.message, \"video\", 0);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[0] = {\r\n type: \"video\",\r\n url: response.data.message,\r\n };\r\n setMediaArray(newArr);\r\n });\r\n };\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {mediaArray.map((data, index) => {\r\n //console.log(data);\r\n return (\r\n
    \r\n {videoActive ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n // style={{\r\n // backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n // }}\r\n >\r\n {editActive ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >
    \r\n
    \r\n )}\r\n
    \r\n );\r\n })}\r\n {videoActive ? (\r\n
    \r\n
    \r\n
    \r\n \r\n {editActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\nexport default SceneTweleve;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneTweleve from \"./Scen12\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene12 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/12/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 12) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene12;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirteen = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n swipe: false,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneThirteen;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneThirteen from \"./Scene13\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene13 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/13/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 13) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n // getData();\r\n reFetchData(true)\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene13;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourteen = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 52;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n key={single.key}\r\n style={{\r\n \"font-size\": props.settextSize + \"px\",\r\n color: props.setColor,\r\n \"line-height\": props.setTextLineHeight,\r\n fontFamily: props.data.fontFamily,\r\n fontWeight: props.data.fontWeight,\r\n }}\r\n className={\r\n \"child-container form-control editable-div size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n {content}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {/* {textShow ?
    52 / {52 - content.length}
    : null} */}\r\n {textShow && content.length >= 32 ?
    = 52 ? \"char-counter red\" : \"char-counter \"}> {52 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneFourteen;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFourteen from \"./Scen14\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene14 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/14/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n console.log(\"here\");\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 14) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene14;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFifteen = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n const slidePre = (index) => {\r\n console.log(index)\r\n console.log('index');\r\n slider1.current.slickGoTo(index);\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 80;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={4}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    slidePre(index)}>\r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneFifteen;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFifteen from \"./Scene15\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene15 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/15/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 6,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 6,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 6,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 6,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: 6,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 6,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 6,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 6,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 6,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 6,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 15) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 6,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene15;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneSixteen = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 72;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {/* {textShow ?
    {72 - content.length}
    : null} */}\r\n {textShow && content.length >= 52 ?
    = 72 ? \"char-counter red\" : \"char-counter \"}> {72 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneSixteen;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneSixteen from \"./Scene16\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene16 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/16/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 16) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene16;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneSevenTeen = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 100;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {/* {textShow ?
    {100 - content.length}
    : null} */}\r\n {textShow && content.length >= 80 ?
    = 100 ? \"char-counter red\" : \"char-counter \"}> {100 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneSevenTeen;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneSevenTeen from \"./Scene17\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene17 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/17/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 17) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n // console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene17;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneEighteen = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n swipe: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneEighteen;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneEighteen from \"./Scene18\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene18 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/18/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 18) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n // getData();\r\n reFetchData(true)\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene18;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneNineTeen = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 80;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 60 ?
    = 80 ? \"char-counter red\" : \"char-counter \"}> {80 - content.length}
    : null}\r\n {/* {textShow ?
    {80 - content.length}
    : null} */}\r\n
    \r\n );\r\n};\r\nexport default SceneNineTeen;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneNineTeen from \"./Scene19\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene19 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/19/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 19) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene19;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwenty = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 122;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 102 ?
    = 122 ? \"char-counter red\" : \"char-counter \"}> {122 - content.length}
    : null}\r\n {/* {textShow ?
    {122 - content.length}
    : null} */}\r\n
    \r\n );\r\n};\r\nexport default SceneTwenty;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneTwenty from \"./Scene20\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene20 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/20/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(4);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 20) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n \r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene20;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../../Utility/Utility\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentyOne = (props) => {\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 70;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, '', '', false, '', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {textShow && content.length >= 50 ?
    = 70 ? \"char-counter red\" : \"char-counter \"}> {70 - content.length}
    : null}\r\n\r\n
    \r\n );\r\n};\r\nexport default SceneTwentyOne;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneTwentyOne from \"./Scene21\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene21 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/21/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(4.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 21) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene21;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentyTwo = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n swipe: false,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n\r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n\r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n {...settings2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneTwentyTwo;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneTwentyTwo from \"./Scene22\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene22 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/22/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"22\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 22) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n // getData();\r\n reFetchData(true)\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene22;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../../Utility/Utility\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentyThree = (props) => {\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 175;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, '', '', false, \"\", true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {textShow && content.length >= 155 ?
    = 175 ? \"char-counter red\" : \"char-counter \"}> {175 - content.length}
    : null}\r\n \r\n
    \r\n );\r\n};\r\nexport default SceneTwentyThree;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneTwentyThree from \"./Scene23\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene23 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/23/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(4.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 23) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene23;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentyFour = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container,textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n \r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 68;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto here \"+\r\n props.setAlignment\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 48 ?
    = 68 ? \"char-counter red\" : \"char-counter \"}> {68 - content.length}
    : null}\r\n {/* {textShow ?
    {68 - content.length}
    : null} */}\r\n
    \r\n );\r\n};\r\nexport default SceneTwentyFour;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneTwentyFour from \"./Scene24\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene24 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/24/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n console.log(alignment)\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 24) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene24;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\n\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentyFive = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container,textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n \r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 138;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, \"\", true)}\r\n key={single.key}\r\n style={{\r\n \"font-size\": props.settextSize + \"px\",\r\n color: props.setColor,\r\n \"line-height\": props.setTextLineHeight,\r\n fontFamily: props.data.fontFamily,\r\n fontWeight: props.data.fontWeight,\r\n }}\r\n className={\r\n \"child-container form-control editable-div size-auto \" +\r\n \" \" +\r\n props.setAlignment\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n {content}\r\n \r\n );\r\n })}\r\n
    \r\n \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n {/* {textShow ?
    {138 - content.length}
    : null} */}\r\n {textShow && content.length >= 118 ?
    = 138 ? \"char-counter red\" : \"char-counter \"}> {138 - content.length}
    : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n );\r\n};\r\nexport default SceneTwentyFive;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneTwentyFive from \"./Scene25\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene25 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/25/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n console.log(\"here\");\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 25) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene25;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentySix = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container,textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n \r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 70;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setDragoverId(0);\r\n setMediaArray(newArr);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n //src={apiPath + mediaArray[0].url}\r\n />\r\n handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n onClick={() =>\r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n // src={apiPath + mediaArray[0].url}\r\n >\r\n {imgindex == 0 ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick( mediaArray[0].url, 0)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage( mediaArray[0].url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n // src={apiPath + mediaArray[0].url}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 50 ?
    = 70 ? \"char-counter red\" : \"char-counter \"}> {70 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneTwentySix;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneTwentySix from \"./Scene26\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene26 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/26/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 26) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene26;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentySeven = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n swipe:false,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n \r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneTwentySeven;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneTwentySeven from \"./Scene27\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene27 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/27/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 27) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n // getData();\r\n reFetchData(true)\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene27;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentyEight = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 110;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n //src={apiPath + mediaArray[0].url}\r\n />\r\n handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n onClick={() =>\r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n // src={apiPath + mediaArray[0].url}\r\n >\r\n {imgindex == 0 ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(mediaArray[0].url, 0)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(mediaArray[0].url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n // src={apiPath + mediaArray[0].url}\r\n />\r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {/* {textShow ?
    {110 - content.length}
    : null} */}\r\n {textShow && content.length >= 90 ?
    = 110 ? \"char-counter red\" : \"char-counter \"}> {110 - content.length}
    : null}\r\n\r\n
    \r\n );\r\n};\r\nexport default SceneTwentyEight;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneTwentyEight from \"./Scene28\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene28 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/28/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 28) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene28;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneTwentyNine = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n \r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n console.log(container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n console.log(\"here\");\r\n setContent(e.target.value);\r\n props.getContent(e.target.value);\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {mediaArray.length > 0\r\n ? mediaArray.map((data, index) => {\r\n return index < 2 ? (\r\n \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n >\r\n {/* */}\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n\r\n
    \r\n {mediaArray.length > 0\r\n ? mediaArray.map((data, index) => {\r\n return index > 1 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index )\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 2\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n {/* */}\r\n \r\n \r\n ) : null;\r\n })\r\n : null}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneTwentyNine;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneTwentyNine from \"./Scene29\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene29 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/29/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n console.log(\"here\")\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 29) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene29;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirty = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n \r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 145;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n console.log(imgUrl);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1\r\n ? \"imgone img-slide opacity\"\r\n : \"imgone img-slide\"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n />\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 2\r\n ? \"imgtwo img-slide opacity\"\r\n : \"imgtwo img-slide\"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >\r\n {imgindex == 0 ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(mediaArray[0].url, 0)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(mediaArray[0].url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 3)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n alt=\"imgmain\"\r\n className={\r\n dragoverId == 3\r\n ? \"imgthree img-slide opacity\"\r\n : \"imgthree img-slide \"\r\n }\r\n //src={apiPath + mediaArray[0].url}\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >
    \r\n
    \r\n \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n\r\n {textShow && content.length >= 125 ?
    = 145 ? \"char-counter red\" : \"char-counter \"}> {145 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneThirty;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneThirty from \"./Scene30\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene30 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/30/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 30) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene30;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirtyone = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n setImageSrc(apiPath + scene);\r\n console.log(container)\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 75;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {/* {textShow ?
    {65 - content.length}
    : null} */}\r\n {textShow && content.length >= 55 ?
    = 75 ? \"char-counter red\" : \"char-counter \"}> {75 - content.length}
    : null}\r\n \r\n
    \r\n );\r\n};\r\nexport default SceneThirtyone;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneThirtyone from \"./Scene31\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene31 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/31/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(4);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 31) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n {fontFamily ? : null}\r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene31;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirtyTwo = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 80;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n\r\n \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 60 ?
    = 80 ? \"char-counter red\" : \"char-counter \"}> {80 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneThirtyTwo;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneThirtyTwo from \"./Scene32\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene32 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/32/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n \r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n // console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 32) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n }\r\n else{\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n // console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene32;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirtyThree = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();\r\n const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n swipe: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n\r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneThirtyThree;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneThirtyThree from \"./Scene33\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene33 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/33/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"33\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 33) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n // getData();\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene33;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirtyFour = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [textShow, setTextShow] = React.useState(false);\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container,textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 82;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n onClick={() =>\r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n 1\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + mediaArray[1].url + \") \",\r\n }}\r\n >\r\n {imgindex == 1 ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(mediaArray[1].url, 1)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(mediaArray[1].url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 1 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 62 ?
    =82 ? \"char-counter red\" : \"char-counter \"}> {82 - content.length}
    : null}\r\n {/* {textShow ?
    {82 - content.length}
    : null} */}\r\n
    \r\n );\r\n};\r\nexport default SceneThirtyFour;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneThirtyFour from \"./Scene34\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene34 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/34/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 34) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene34;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirtyFive = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [textShow, setTextShow] = React.useState(false);\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 82;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n onClick={() =>\r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n 1\r\n )\r\n }\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + mediaArray[1].url + \") \",\r\n }}\r\n >\r\n {imgindex == 1 ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(mediaArray[1].url, 1)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(mediaArray[1].url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 1 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 62 ?
    = 82 ? \"char-counter red\" : \"char-counter \"}> {82 - content.length}
    : null}\r\n {/* {textShow ?
    {82 - content.length}
    : null} */}\r\n
    \r\n );\r\n};\r\nexport default SceneThirtyFive;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneThirtyFive from \"./Scene35\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene35 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/35/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 35) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene35;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirtySix = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 122;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className=\"bg box-1\"\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {/* {textShow ?
    {122 - content.length}
    : null} */}\r\n {textShow && content.length >= 102 ?
    = 122 ? \"char-counter red\" : \"char-counter \"}> {122 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneThirtySix;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneThirtySix from \"./Scene36\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene36 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/36/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 36) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene36;\r\n","import React from \"react\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst Scene37 = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n //console.log(props.content)\r\n\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n \r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n \r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n setProcessing(false);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { setProcessing(false);});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n // return {\r\n // top: isResize,\r\n // right: isResize,\r\n // bottom: isResize,\r\n // left: isResize,\r\n // topRight: isResize,\r\n // bottomRight: isResize,\r\n // bottomLeft: isResize,\r\n // topLeft: isResize,\r\n // };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n // setMediaArray(props.mediaArray);\r\n // console.log(props.content);\r\n // console.log(\"props.content\");\r\n // if (props.data) {\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content);\r\n //}\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 70;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n props.dropMedia(false, imgUrl, \"img\", index, newArr);\r\n setDragoverId(0);\r\n };\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index <= 2 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n key={index}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : props.mediaArray ? (\r\n setshowbg(false, \"\", \"\", false)}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n {textShow && content.length >= 50 ?
    = 70 ? \"char-counter red\" : \"char-counter \"}> {70 - content.length}
    : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default Scene37;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport Scene37 from \"./Scene37\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\n\r\nconst TemplateNew37 = (props) => {\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/37/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [processing, setProcessing] = React.useState(true);\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n time: time,\r\n };\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setTextlineHeight(lineHeight);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setTextSize(size);\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n console.log(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n // setAddScene(false)\r\n setAddMusic(media);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n // getData()\r\n }\r\n setAddMedia(media);\r\n\r\n getData();\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index, newArrs) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // setBgType(mediaType);\r\n // setBgScene(mediaFile);\r\n // let newArr = [...mediaArray]; // copying the old datas array\r\n // newArr[index] = {\r\n // type: mediaType,\r\n // url: mediaFile,\r\n // };\r\n setMediaArray(newArrs);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArrs,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n getData();\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n setProcessing(false);\r\n if (response.data.data.length > 0) {\r\n // console.log(response.data.data);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n if (response.data.data[0].blocks.length > 0) {\r\n setTemplateTitle(response.data.data[0].title);\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setBlocks(response.data.data[0].blocks);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 37) {\r\n // if (undoData.length == 0) {\r\n setUpatedData(block.sceneData);\r\n //}\r\n //console.log(\"herer\");\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n // getData();\r\n }, [userId]);\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n // if (data != \"undefined\" && undoCount == true) {\r\n // setUndoData((prevState) => [...prevState, upatedData]);\r\n // }\r\n // getData();\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : mediaArray && data ? (\r\n \r\n ) : null\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateNew37;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { apiPath } from \"../../../../Utility/Utility\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirtyEight = (props) => {\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();\r\n const [processing, setProcessing] = React.useState(false);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 175;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, '', '', false, \"\", true)}\r\n className={\r\n \"child-containers form-control border center size-auto \" +\r\n \r\n \" \" +\r\n props.setAlignment\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* {textShow ?
    {175 - content.length}
    : null} */}\r\n {textShow && content.length >= 155 ?
    = 175 ? \"char-counter red\" : \"char-counter \"}> {175 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneThirtyEight;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneThirtyEight from \"./Scene38\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene38 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/38/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 38) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene38;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneThirtyNine = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();\r\n const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const slidePre = (index) => {\r\n console.log(index)\r\n console.log('index');\r\n slider1.current.slickGoTo(index);\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n swipe: false,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    slidePre(index)}>\r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneThirtyNine;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneThirtyNine from \"./Scene39\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene39 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/39/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"39\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(4);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 39) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n // getData();\r\n reFetchData(true)\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene39;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourty = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n // console.log(scene);\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 96;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, \"\", true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >\r\n {imgindex == 0 ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(mediaArray[0].url, 0)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n showCroppedImage(mediaArray[0].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {textShow && content.length >= 76 ?
    = 96 ? \"char-counter bottom left red\" : \"char-counter left bottom \"}> {96 - content.length}
    : null}\r\n {/* {textShow ?
    {96 - content.length}
    : null} */}\r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneFourty;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneFourty from \"./Scene40\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene40 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/40/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(4);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 40) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene40;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtyOne = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 92;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n props.dropMedia(false, imgUrl, \"img\", index, newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, \"\", true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >\r\n {imgindex == 0 ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick( mediaArray[0].url, 0)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage( mediaArray[0].url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {textShow && content.length >= 72 ?
    = 92 ? \"char-counter bottom red\" : \"char-counter bottom \"}> {92 - content.length}
    : null}\r\n {/* {textShow ?
    {92 - content.length}
    : null} */}\r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneFourtyOne;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFourtyOne from \"./Scene41\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene41 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/41/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(4);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index, newArrs) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArrs,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 41) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene41;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtyTwo = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 65;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 45 ?
    = 65 ? \"char-counter red\" : \"char-counter \"}> {65 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneFourtyTwo;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneFourtyTwo from \"./Scene42\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene42 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/42/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 42) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene42;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtyThree = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n swipe:false,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n \r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n {...settings2}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneFourtyThree;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneFourtyThree from \"./Scene43\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene43 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/43/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"43\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 43) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n // getData();\r\n reFetchData(true)\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene43;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtyFour = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 138;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1\r\n ? \"imgone img-slide opacity\"\r\n : \"imgone img-slide\"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n />\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 2\r\n ? \"imgtwo img-slide opacity\"\r\n : \"imgtwo img-slide\"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >\r\n {imgindex == 0 ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(mediaArray[0].url, 0)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(mediaArray[0].url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 3)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n alt=\"imgmain\"\r\n className={\r\n dragoverId == 3\r\n ? \"imgthree img-slide opacity\"\r\n : \"imgthree img-slide \"\r\n }\r\n //src={apiPath + mediaArray[0].url}\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >
    \r\n
    \r\n \r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n
    \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n\r\n {textShow && content.length >= 118 ?
    = 138 ? \"char-counter red\" : \"char-counter \"}> {138 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneFourtyFour;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFourtyFour from \"./Scene44\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene44 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/44/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 44) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene44;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtyFive = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 128;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 108 ?
    = 128 ? \"char-counter red\" : \"char-counter \"}> {128 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneFourtyFive;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneFourtyFive from \"./Scene45\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene45 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/45/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 4,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 4,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 4,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 4,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: 4,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: 4,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 4,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 4,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 4,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 4,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 45) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: 4,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene45;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtySix = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit =132;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 112 ?
    = 132 ? \"char-counter red\" : \"char-counter \"}> {132 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneFourtySix;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFourtySix from \"./Scene46\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene46 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/46/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 46) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene46;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFourtySeven from \"./Scene47\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene47 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/47/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 6,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 6,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: 6,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n //getData();\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 47) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[0].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[0].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[0].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[0].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 4700);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 4700);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene47;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport left from \"./../../../../Assets/images/templates/left.png\";\r\nimport right from \"./../../../../Assets/images/templates/right.png\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtyEight = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [content, setContent] = React.useState([]);\r\n const [counter, setCounter] = React.useState(content.length);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, container) {\r\n props.showBg(option, type, scene, titleColor, container);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 1,\r\n infinite: false,\r\n swipe:false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n const settings2 = {\r\n dots: true,\r\n speed: 1500,\r\n autoplaySpeed: 3500,\r\n slidesToShow: 2,\r\n infinite: false,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n \r\n };\r\n const addSection = () => {\r\n setCounter(counter + 1);\r\n let newArr = [...content]; // copying the old datas array\r\n newArr[counter] = {\r\n title: \"Enter Title\",\r\n text: \"Enter Value\",\r\n };\r\n\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n };\r\n const deleteSection = (e) => {\r\n setCounter(counter - 1);\r\n content.splice(e, 1);\r\n props.getContent(content);\r\n };\r\n\r\n const updateFieldChanged = (index) => (e) => {\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: charc,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: newArr[index].title,\r\n text: e.target.value,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n }\r\n };\r\n const updateTile = (index) => (e) => {\r\n // let newArr = [...content]; // copying the old datas array\r\n // newArr[index] = {\r\n // title: e.target.value,\r\n // text: newArr[index].text,\r\n // };\r\n // props.getContent(newArr);\r\n // setContent(newArr); // ??\r\n\r\n let newArr = [...content]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n title: charc,\r\n text: newArr[index].text,\r\n };\r\n setContent(newArr);\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n title: e.target.value,\r\n text: newArr[index].text,\r\n };\r\n props.getContent(newArr);\r\n setContent(newArr);\r\n }\r\n };\r\n React.useEffect(() => {\r\n setContent(props.content);\r\n\r\n setMediaArray(props.mediaArray);\r\n setCounter(props.content.length);\r\n if (props.data) {\r\n setContent(props.content);\r\n setCounter(props.content.length);\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content, props.fontFamily, props.data]);\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {typeof content != undefined && content.length\r\n ? content.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {counter < 5 ? (\r\n \r\n ) : null}\r\n {counter > 1 ? (\r\n deleteSection(index)}\r\n />\r\n ) : null}\r\n
    \r\n

    setsctiveFontFamily(true)}>\r\n \r\n

    \r\n setsctiveFontFamily(false)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n (slider1.current = slider)}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage: \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n (slider2.current = slider)}\r\n slidesToShow={2}\r\n swipeToSlide={true}\r\n focusOnSelect={true}\r\n >\r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n {index == 0 ?\r\n
    \r\n \"left\"\r\n
    \r\n :
    \r\n \"right\"\r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\nexport default SceneFourtyEight;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneFourtyEight from \"./Scene48\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apiUpdateBlock,\r\n apigetAdminTemplate,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene48 = (props) => {\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/48/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [content, setContent] = React.useState([]);\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-left\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [texAreatextColor, setTexAreatextColor] = React.useState(\"\");\r\n const [titletextColor, setTitletextColor] = React.useState(\"\");\r\n const [titletextSize, setTitletextSize] = React.useState(\"\");\r\n\r\n const [fontfamilySet, setFontfamilySet] = React.useState(\"\");\r\n const [fontweightSet, setFontweightSet] = React.useState(\"\");\r\n\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [titleactive, setTitleactive] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [titleFontFamily, setTitleFontFamily] = React.useState(\"\");\r\n const [titleFontWeight, setTitleFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [setInitials, setSetInitials] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(6.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: scenetime,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(fontfamily) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setTitleactive(fontfamily);\r\n if (fontfamily) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(fontFamily);\r\n setTexAreatextColor(textColor);\r\n }\r\n }\r\n function getFontfamily(fontfamily) {\r\n setFontfamilySet(fontfamily);\r\n if (titleactive) {\r\n setTitleFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: fontfamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n } else {\r\n setFontFamily(fontfamily);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n console.log(data);\r\n updateData(data);\r\n }\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontweightSet(fontweight);\r\n if (titleactive) {\r\n setTitleFontWeight(fontweight);\r\n\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: fontweight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n if (titleactive) {\r\n setTitletextColor(color);\r\n setTexAreatextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: color,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n } else {\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n setTextColor(color);\r\n setTexAreatextColor(color);\r\n }\r\n }\r\n\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n if (titleactive) {\r\n setTitletextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: size,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n } else {\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n titleColor: titletextColor,\r\n titletextSize: titletextSize,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n time: time,\r\n };\r\n\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n }\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setTitleactive(titleColor);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n if (titleColor) {\r\n setTexAreatextColor(titletextColor);\r\n setFontfamilySet(titleFontFamily);\r\n } else {\r\n setFontfamilySet(titleFontFamily);\r\n setTexAreatextColor(fontFamily);\r\n }\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n }\r\n\r\n function showAddScene(mediaactive, scene) {\r\n // console.log(mediaactive);\r\n setShowGlobal(false);\r\n setAddScene(mediaactive);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n titleColor: titletextColor,\r\n textSize: textSize,\r\n titletextSize: titletextSize,\r\n textTransform: textTransform,\r\n media: newArr,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n titleFontFamily: titleFontFamily,\r\n titleFontWeight: titleFontWeight,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 48) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTitletextColor(block.sceneData.titleColor);\r\n setTitletextSize(block.sceneData.titletextSize);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setFontWeight(block.sceneData.fontWeight);\r\n if (!setInitials) {\r\n setSetInitials(true);\r\n setFontfamilySet(block.sceneData.titleFontFamily);\r\n }\r\n // else{\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n // }\r\n setFontFamily(block.sceneData.fontFamily);\r\n setTitleFontWeight(block.sceneData.titleFontWeight);\r\n setTitleFontFamily(block.sceneData.titleFontFamily);\r\n // setFontfamilySet(block.sceneData.fontFamily);\r\n setFontweightSet(block.sceneData.fontWeight);\r\n setContent(block.sceneData.content);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n // getData();\r\n reFetchData(true)\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" && content != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : showGlobal ? null : addMusic ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene48;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtyNine = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef(); const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n setContent(props.data.content);\r\n }\r\n setContent(props.content);\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n }, [props.content]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 132;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n key={single.key}\r\n style={{\r\n \"font-size\": props.settextSize + \"px\",\r\n color: props.setColor,\r\n \"line-height\": props.setTextLineHeight,\r\n fontFamily: props.data.fontFamily,\r\n fontWeight: props.data.fontWeight,\r\n }}\r\n className={\r\n \"child-container form-control editable-div size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n {content}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && content.length >= 112 ?
    = 132 ? \"char-counter red\" : \"char-counter \"}> {132 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneFourtyNine;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFourtyNine from \"./Scen49\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene49 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/49/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [time, setTime] = React.useState(5.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n console.log(\"here\")\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n setShowGlobal(false);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowGlobal(false);\r\n setShowEditbutton(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 49) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n getData();\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene49;\r\n","/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFifty = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [content, setContent] = React.useState(props.content);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [state, setState] = React.useState({ nav1: null, nav2: null });\r\n const slider1 = React.useRef();\r\n const slider2 = React.useRef();const [processing, setProcessing] = React.useState(false);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n const layout = [\r\n {\r\n key: \"test\",\r\n x: transformX,\r\n y: transformY,\r\n width: width,\r\n height: height,\r\n zIndex: 1,\r\n },\r\n ];\r\n const canResizable = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n const onLayoutChange = (e) => {\r\n //console.log(e[0])\r\n setTransformX(e[0].x);\r\n setTransformY(e[0].y);\r\n setWidth(e[0].width);\r\n setHeight(e[0].height);\r\n let newObj = {\r\n boxwidth: e[0].width,\r\n boxheight: e[0].height,\r\n x: e[0].x,\r\n y: e[0].y,\r\n };\r\n props.getTextAreaData(newObj);\r\n };\r\n function setshowbg(option, scene, type, titleColor, container, textshows) {\r\n console.log(container)\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n setImageSrc(apiPath + scene);\r\n setImgindex(container);\r\n setZoomToggle(false);\r\n if (container != imgindex) {\r\n setZoom(1);\r\n }\r\n props.showBg(option, type, scene, false, container);\r\n }\r\n\r\n const settings = {\r\n dots: false,\r\n arrows: false,\r\n speed: 1500,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 1,\r\n infinite: true,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n fade: true,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n React.useEffect(() => {\r\n setMediaArray(props.mediaArray);\r\n if (props.data) {\r\n console.log(props.data);\r\n setWidth(props.data.boxwidth);\r\n setHeight(props.data.boxheight);\r\n setTransformX(props.data.x);\r\n setTransformY(props.data.y);\r\n //setContent(props.data.content)\r\n }\r\n setState({\r\n nav1: slider1.current,\r\n nav2: slider2.current,\r\n });\r\n setContent(props.content);\r\n }, [props.content, props.fontFamily, props.data]);\r\n\r\n function getcontent(e) {\r\n const maxlimit = 92;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n // if too long...trim it!\r\n charc = e.target.value.substring(0, maxlimit);\r\n setContent(charc);\r\n props.getContent(charc);\r\n } else {\r\n setContent(charc);\r\n props.getContent(charc);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n };\r\n\r\n const { nav1, nav2 } = state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n layout={layout}\r\n onLayoutChange={onLayoutChange}\r\n dragProps={{ disabled: false }}\r\n scale={1}\r\n >\r\n {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })}\r\n \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\":\r\n \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(data.url, index)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n\r\n {textShow && content.length >= 72 ?
    = 92 ? \"char-counter red\" : \"char-counter \"}> {92 - content.length}
    : null}\r\n
    \r\n );\r\n};\r\nexport default SceneFifty;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"./../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"./../../TopSection/TopSection\";\r\nimport TextEditor from \"./../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"./../../ChangeBg\";\r\nimport SceneFifty from \"./Scene50\";\r\nimport AddMedia from \"./../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"./../../BottomSection/BottomSection\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Player from \"../../Player\";\r\nconst TemplateScene50 = (props) => {\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/50/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"#333\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"18\");\r\n const [textTransform, setTexttransform] = React.useState(\"\");\r\n\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: Scene,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene2,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene3,\r\n // type:'image/png'\r\n // },\r\n // {\r\n // url: Scene4,\r\n // type:'image/png'\r\n // }\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [transformX, setTransformX] = React.useState(0);\r\n const [transformY, setTransformY] = React.useState(0);\r\n const [width, setWidth] = React.useState(350);\r\n const [height, setHeight] = React.useState(100);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: scenetime,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n\r\n updateData(data);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontfamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontweight,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextAligmnet(alignment);\r\n const data = {\r\n content: content,\r\n textAligmnet: alignment,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setContent(content);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n // console.log(texttransform);\r\n setTexttransform(texttransform);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: texttransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextColor(color);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: color,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n time: time,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: lineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: size,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container) {\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: transformX,\r\n y: transformY,\r\n boxwidth: width,\r\n boxheight: height,\r\n textTransform: textTransform,\r\n media: newArr,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n if (response.data.data[0].blocks.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 50) {\r\n setUpatedData(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextSize(block.sceneData.textSize);\r\n setTextlineHeight(block.sceneData.textlineHeight);\r\n setTextColor(block.sceneData.textColor);\r\n setTexttransform(block.sceneData.textTransform);\r\n setTextAligmnet(block.sceneData.textAligmnet);\r\n setTransformX(block.sceneData.x);\r\n setTransformY(block.sceneData.y);\r\n setWidth(block.sceneData.boxwidth);\r\n setHeight(block.sceneData.boxheight);\r\n setContent(block.sceneData.content);\r\n setFontWeight(block.sceneData.fontWeight);\r\n setFontFamily(block.sceneData.fontFamily);\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n //setUserId(decoded.id);\r\n setUserId(decoded.id);\r\n getData();\r\n }\r\n }, [userId]);\r\n\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n function getTextAreaData(obj) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n content: content,\r\n textAligmnet: textAligmnet,\r\n textColor: textColor,\r\n textlineHeight: textlineHeight,\r\n textSize: textSize,\r\n x: obj.x,\r\n y: obj.y,\r\n boxwidth: obj.boxwidth,\r\n boxheight: obj.boxheight,\r\n textTransform: textTransform,\r\n media: mediaArray,\r\n fontFamily: fontFamily,\r\n fontWeight: fontWeight,\r\n time: time,\r\n };\r\n setTransformX(obj.x);\r\n setTransformY(obj.y);\r\n setWidth(obj.boxwidth);\r\n setHeight(obj.boxheight);\r\n updateData(data);\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 800);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : data != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene50;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFour = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 140;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n
    \"home-icons\"
    \r\n\r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0)}\r\n value={textArrays[0].text}\r\n >\r\n\r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index < 2 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index > 1 && index <= 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index > 3 && index <= 5 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFour;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftyOne from \"./Scene51\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene51 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/51/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 51) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene51;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneFiftyTwo = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 3) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0)}\r\n value={textArrays[0].text}\r\n >\r\n\r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index < 2 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index > 1 && index <= 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFiftyTwo;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftyTwo from \"./Scene52\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene52 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/52/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.52\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 52) {\r\n setUpatedData(block.sceneData);\r\n // console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[1].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene52;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport pentagon from \"./../../../../Assets/images/pentagon.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneFiftyThree = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 30;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 3) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity box-size\"\r\n : \"bg box-1 box-size\"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n \"pentagon\"\r\n \"pentagon\"\r\n \"pentagon\"\r\n\r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0)}\r\n value={textArrays[0].text}\r\n >\r\n ) : null;\r\n })}\r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity box-size\"\r\n : \"bg box-1 box-size\"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFiftyThree;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftyThree from \"./Scene53\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene53 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/53/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.53\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 53) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene53;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nconst SceneFiftyFour = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index < 2 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index > 1 && index <= 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n
    \r\n
    \"home-icons\"/
    \r\n\r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0)}\r\n value={textArrays[0].text}\r\n >\r\n\r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFiftyFour;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftyFour from \"./Scene54\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene54 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/54/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 54) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[1].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene54;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneFiftyFive = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1, 21)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n
    \r\n setsctiveFontFamily(2)}\r\n onChange={(e) => getcontent(e, 2, 10)}\r\n value={textArrays[2].text}\r\n >\r\n
    \r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index >= 1 && index < 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFiftyFive;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftyFive from \"./Scene55\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport steps from \"./../../Guide/steps\"\r\nimport { disableBodyScroll, enableBodyScroll } from \"body-scroll-lock\";\r\nimport Tour from \"reactour\";\r\nconst TemplateScene55 = (props) => {\r\n const disableBody = target => disableBodyScroll(target);\r\n const enableBody = target => enableBodyScroll(target);\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/55/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 55) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n const [isTourOpen, setIsTourOpen] = React.useState(false);\r\n const [isShowingMore, setIsShowingMore] = React.useState(false);\r\n const toggleShowMore = () => {\r\n setIsShowingMore(!isShowingMore)\r\n };\r\n\r\n const closeTour = () => {\r\n setIsTourOpen(false)\r\n };\r\n const showTour = () => {\r\n setIsTourOpen(true)\r\n };\r\n const accentColor = \"#5cb7b7\";\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n
    Guide
    \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene55;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneFiftySix= (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return ( \r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1, 21)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n
    \r\n setsctiveFontFamily(2)}\r\n onChange={(e) => getcontent(e, 2, 10)}\r\n value={textArrays[2].text}\r\n >\r\n
    \r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFiftySix;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftySix from \"./Scene56\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport { disableBodyScroll, enableBodyScroll } from \"body-scroll-lock\";\r\nimport steps from \"./../../Guide/steps\"\r\nimport Tour from \"reactour\";\r\nconst TemplateScene56 = (props) => {\r\n const disableBody = target => disableBodyScroll(target);\r\n const enableBody = target => enableBodyScroll(target);\r\n const [isTourOpen, setIsTourOpen] = React.useState(false);\r\n const [isShowingMore, setIsShowingMore] = React.useState(false);\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/56/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 56) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n const closeTour = () => {\r\n setIsTourOpen(false)\r\n };\r\n const showTour = () => {\r\n setIsTourOpen(true)\r\n };\r\n const accentColor = \"#5cb7b7\";\r\n return (\r\n
    \r\n \r\n
    Guide
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene56;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneFiftySeven = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1, 21)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n
    \r\n setsctiveFontFamily(2)}\r\n onChange={(e) => getcontent(e, 2, 10)}\r\n value={textArrays[2].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n\r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFiftySeven;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftySeven from \"./Scene57\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene57 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/57/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 57) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene57;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneFiftyEight = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity box-size\"\r\n : \"bg box-1 box-size\"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1, 21)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n
    \r\n setsctiveFontFamily(2)}\r\n onChange={(e) => getcontent(e, 2, 10)}\r\n value={textArrays[2].text}\r\n >\r\n
    \r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity box-size\"\r\n : \"bg box-1 box-size\"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFiftyEight;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftyEight from \"./Scene58\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene58 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/58/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 58) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene58;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneFiftyNine = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1, 21)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n\r\n\r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n {/* setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n > */}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n \r\n
    \r\n setsctiveFontFamily(2)}\r\n onChange={(e) => getcontent(e, 2, 10)}\r\n value={textArrays[2].text}\r\n >\r\n
    \r\n \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneFiftyNine;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneFiftyNine from \"./Scene59\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene59 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/59/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 59) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene59;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport comingSoon from \"./../../../../Assets/images/icon-coming-soon.png\"\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixty = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"comingSoon\"\r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixty;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixty from \"./Scene60\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene60 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/60/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 60) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene60;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixtyOne = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n console.log(textArrays)\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n\r\n\r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 2 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixtyOne;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtyOne from \"./Scene61\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene61 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/61/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 61) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene61;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixtyTwo = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n console.log(textArrays)\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n console.log(index)\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[2].url,\r\n mediaArray[2].type,\r\n false,\r\n \"2\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 3)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 2)}\r\n />\r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n \"1\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n className={\r\n dragoverId == 1\r\n ? \"img-fluid userimg opacity\"\r\n : \"img-fluid userimg \"\r\n }\r\n alt=\"userImg\"\r\n />\r\n
    \r\n
    \r\n
    \r\n {textArrays.map((data, index) => {\r\n return (\r\n index <= 3 ?\r\n setsctiveFontFamily(index)}\r\n >\r\n getcontent(e, index)}\r\n >\r\n
    \r\n : null\r\n )\r\n })}\r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n \"0\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1\r\n ? \"img-fluid userimg opacity\"\r\n : \"img-fluid userimg \"\r\n }\r\n alt=\"userImg\"\r\n />\r\n
    \r\n
    \r\n \r\n\r\n ) : null\r\n }\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixtyTwo;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtyTwo from \"./Scene62\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene62 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/62/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 62) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene62;\r\n","/* eslint-disable jsx-a11y/alt-text */\r\n/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport web from \"./../../../../Assets/images/global.png\"\r\nimport phone from \"./../../../../Assets/images/telephone.png\"\r\nimport user from \"./../../../../Assets/images/email(1).png\"\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixtyThree = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n console.log(textArrays)\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n console.log(index)\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n \"1\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n />\r\n
    \r\n\r\n
    \r\n {textArrays.map((data, index) => {\r\n return (\r\n index == 0 ?\r\n setsctiveFontFamily(index)}\r\n >\r\n getcontent(e, index)}\r\n >\r\n
    \r\n : null\r\n )\r\n })}\r\n
    \r\n
    \r\n {textArrays.map((data, index) => {\r\n return (\r\n index >= 1 && index <= 3 ?\r\n setsctiveFontFamily(index)}\r\n >\r\n {index == 1 ? \"userImg\" : null}\r\n\r\n {index == 2 ? \"userImg\" : null}\r\n\r\n {index == 3 ? \"userImg\" : null}\r\n getcontent(e, index)}\r\n >\r\n
    \r\n : null\r\n )\r\n })}\r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n \"0\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1\r\n ? \"img-fluid userimg img-fluid logo opacity\"\r\n : \"img-fluid userimg img-fluid logo \"\r\n }\r\n alt=\"userImg\"\r\n />\r\n
    \r\n\r\n
    \r\n \r\n \r\n ) : null\r\n }\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixtyThree;\r\n\r\n\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtyThree from \"./Scene63\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene63 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/63/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 63) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene63;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixtyFour = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n console.log(textArrays)\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[2].url,\r\n mediaArray[2].type,\r\n false,\r\n \"2\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n />\r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n \"0\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1\r\n ? \"img-fluid userimg opacity\"\r\n : \"img-fluid userimg \"\r\n }\r\n alt=\"userImg\"\r\n />\r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n\r\n\r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n\r\n ) : null\r\n }\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixtyFour;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtyFour from \"./Scene64\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene64 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/64/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 64) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene64;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixtyFive = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n setsctiveFontFamily(1)}\r\n onChange={(e) => getcontent(e, 1, 21)}\r\n value={textArrays[1].text}\r\n >\r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n {mediaArray.map((data, index) => {\r\n return index == 2 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n\r\n\r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n {/* setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n > */}\r\n
    \r\n \r\n ) : null;\r\n })}\r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n \r\n
    \r\n setsctiveFontFamily(2)}\r\n onChange={(e) => getcontent(e, 2, 10)}\r\n value={textArrays[2].text}\r\n >\r\n
    \r\n \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixtyFive;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtyFive from \"./Scene65\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene65 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/65/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 65) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene65;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixtySix = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index >= 1 && index < 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixtySix;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtySix from \"./Scene66\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene66 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/66/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 66) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene66;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixtySeven = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, index, textIndex, textshows) {\r\n\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 60;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 3) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n // newArr.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((media2) => [...media2, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media3) => [...media3, data])\r\n // : null;\r\n // }\r\n // if (index == 3) {\r\n // setshowSlider(true);\r\n // }\r\n // });\r\n }\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[2].url,\r\n mediaArray[2].type,\r\n false,\r\n 2\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 3)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 2)}\r\n className={\r\n dragoverId == 3 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[2].url + \") \",\r\n }}\r\n >\r\n {imgindex == 2 ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(mediaArray[2].url, 2)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n showCroppedImage(mediaArray[2].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 2 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n setshowbg(false, \"\", \"\", false, 15, index, true)}\r\n // onClick={() => setshowbg(false, \"\", \"\", false,\"\")}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n data.fontAlignment +\r\n \" \" +\r\n data.fontCapitalize\r\n }\r\n onChange={(e) => getcontent(e, index)}\r\n value={data.text}\r\n >\r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >\r\n {imgindex == 0 ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(mediaArray[0].url, 0)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n showCroppedImage(mediaArray[0].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n 1\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n className={\r\n dragoverId == 2 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[1].url + \") \",\r\n }}\r\n >\r\n {imgindex == 1 ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(mediaArray[1].url, 1)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n showCroppedImage(mediaArray[1].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 1 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && textArrays[0].text.length >= 40 ?
    = 60 ? \"char-counter red\" : \"char-counter \"}> {60 - textArrays[0].text.length}
    : null}\r\n\r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixtySeven;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtySeven from \"./Scene67\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene67 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/67/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 6,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 6,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: 6,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n //getData();\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 67) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[0].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[0].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[0].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[0].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 6700);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 6700);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene67;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSixtyEight = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => {});\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 14;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 3) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index < 2 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index > 1 && index <= 5 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSixtyEight;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtyEight from \"./Scene68\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene68 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/68/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.68\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 68) {\r\n setUpatedData(block.sceneData);\r\n // console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[1].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene68;\r\n","/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport Scenes from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\n\r\nimport trash from \"./../../../../Assets/images/templates/trash.svg\";\r\nimport add from \"./../../../../Assets/images/templates/add.svg\";\r\nimport Slider from \"react-slick\";\r\nimport $ from \"jquery\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { CommentTwoTone } from \"@material-ui/icons\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"./../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneFourtyTwo = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n console.log(textArrays)\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* {layout.map((single) => {\r\n return (\r\n setshowbg(false, \"\", \"\", false, '10', true)}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n props.setAlignment +\r\n \" \" +\r\n props.setTextTransform\r\n }\r\n onChange={getcontent}\r\n value={content}\r\n >\r\n );\r\n })} */}\r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {/* {textShow && content.length >= 45 ?
    = 65 ? \"char-counter red\" : \"char-counter \"}> {65 - content.length}
    : null} */}\r\n
    \r\n );\r\n};\r\nexport default SceneFourtyTwo;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSixtyNine from \"./Scene69\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene69 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/69/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 69) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene69;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventy = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n
    \r\n ) : null;\r\n })}\r\n {mediaArray.map((data, index) => {\r\n return index == 2 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n \r\n
    \r\n \r\n\r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n {/* setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n > */}\r\n
    \r\n \r\n ) : null;\r\n })}\r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n \r\n \r\n \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventy;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventy from \"./Scene70\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene70 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/70/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 70) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene70;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventyOne = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n \r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n \r\n\r\n\r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n {/* setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n > */}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 1 ? (\r\n
    \r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity \"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n
    setzoomToggle()}>\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n \r\n \r\n \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventyOne;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventyOne from \"./Scene71\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene71 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/71/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 71) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene71;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventyTwo = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index >= 1 && index < 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventyTwo;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventyTwo from \"./Scene72\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene72 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/72/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 72) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene72;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport Sliders from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventyThree = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [textShow, setTextShow] = React.useState(false);\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n function setshowbg(option, scene, type, titleColor, index, textIndex, textshows) {\r\n\r\n if (textshows) {\r\n setTextShow(true)\r\n }\r\n else {\r\n setTextShow(false)\r\n }\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = 60;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 3) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n // newArr.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((media2) => [...media2, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media3) => [...media3, data])\r\n // : null;\r\n // }\r\n // if (index == 3) {\r\n // setshowSlider(true);\r\n // }\r\n // });\r\n }\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[2].url,\r\n mediaArray[2].type,\r\n false,\r\n 2\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 3)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 2)}\r\n className={\r\n dragoverId == 3 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[2].url + \") \",\r\n }}\r\n >\r\n {imgindex == 2 ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(mediaArray[2].url, 2)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n showCroppedImage(mediaArray[2].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 2 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {textArrays.map((data, index) => {\r\n return index == 0 ? (\r\n setshowbg(false, \"\", \"\", false, 15, index, true)}\r\n // onClick={() => setshowbg(false, \"\", \"\", false,\"\")}\r\n className={\r\n \"child-container form-control border size-auto \" +\r\n data.fontAlignment +\r\n \" \" +\r\n data.fontCapitalize\r\n }\r\n onChange={(e) => getcontent(e, index)}\r\n value={data.text}\r\n >\r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n 0\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[0].url + \") \",\r\n }}\r\n >\r\n {imgindex == 0 ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(mediaArray[0].url, 0)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n showCroppedImage(mediaArray[0].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 0 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n 1\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n className={\r\n dragoverId == 2 ? \"bg box-1 opacity\" : \"bg box-1 \"\r\n }\r\n style={{\r\n backgroundImage:\r\n \"url(\" + apiPath + mediaArray[1].url + \") \",\r\n }}\r\n >\r\n {imgindex == 1 ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n \r\n filterBtnClick(mediaArray[1].url, 1)\r\n }\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n \r\n showCroppedImage(mediaArray[1].url)\r\n }\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == 1 && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n {textShow && textArrays[0].text.length >= 40 ?
    = 60 ? \"char-counter red\" : \"char-counter \"}> {60 - textArrays[0].text.length}
    : null}\r\n\r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventyThree;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport Scene from \"./../../../../Assets/images/templates/img11.png\";\r\nimport Scene2 from \"./../../../../Assets/images/templates/img12.png\";\r\nimport Scene3 from \"./../../../../Assets/images/templates/img13.png\";\r\nimport Scene4 from \"./../../../../Assets/images/templates/img14.png\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventyThree from \"./Scene73\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene73 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/73/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match; \r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: 6,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 6,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 6,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: 6,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setUpatedData(data);\r\n setData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n //getData();\r\n console.log(response);\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 73) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[0].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[0].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[0].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[0].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 7300);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 7300);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene73;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventyFour = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n \r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n data-tut={index == 0 ? \"reactour__5\" : null}\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index >= 1 && index < 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventyFour;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventyFour from \"./Scene74\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nimport { disableBodyScroll, enableBodyScroll } from \"body-scroll-lock\";\r\nimport steps from \"./../../Guide/steps\"\r\nimport Tour from \"reactour\";\r\nconst TemplateScene74 = (props) => {\r\n const disableBody = target => disableBodyScroll(target);\r\n const enableBody = target => enableBodyScroll(target);\r\n const [isTourOpen, setIsTourOpen] = React.useState(false);\r\n const [isShowingMore, setIsShowingMore] = React.useState(false);\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/74/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 74) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n const closeTour = () => {\r\n setIsTourOpen(false)\r\n };\r\n const showTour = () => {\r\n setIsTourOpen(true)\r\n };\r\n const accentColor = \"#5cb7b7\";\r\n return (\r\n
    \r\n\r\n \r\n
    Guide
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene74;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventyFive = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n\r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n\r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index >= 1 && index < 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 3 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n \r\n ) : null}\r\n \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventyFive;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventyFive from \"./Scene75\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"./../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateScene75 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/75/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 75) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene75;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventySix = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n\r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n setsctiveFontFamily(4)}\r\n onChange={(e) => getcontent(e, 4, 36)}\r\n value={textArrays[4].text}\r\n >\r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventySix;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventySix from \"./Scene76\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nimport { disableBodyScroll, enableBodyScroll } from \"body-scroll-lock\";\r\nimport steps from \"./../../Guide/steps\"\r\nimport Tour from \"reactour\";\r\nconst TemplateScene76 = (props) => {\r\n const disableBody = target => disableBodyScroll(target);\r\n const enableBody = target => enableBodyScroll(target);\r\n const [isTourOpen, setIsTourOpen] = React.useState(false);\r\n const [isShowingMore, setIsShowingMore] = React.useState(false);\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/76/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 76) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n const closeTour = () => {\r\n setIsTourOpen(false)\r\n };\r\n const showTour = () => {\r\n setIsTourOpen(true)\r\n };\r\n const accentColor = \"#5cb7b7\";\r\n return (\r\n
    \r\n \r\n
    Guide
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene76;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\nimport comingSoon from \"./../../../../Assets/images/icon-coming-soon.png\"\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventySeven = (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"comingSoon\"\r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n
    \r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n \r\n\r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventySeven;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventySeven from \"./Scene77\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene77 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/77/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 77) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene77;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport {\r\n apiPath,\r\n apigetUploads,\r\n apiUploadImage,\r\n apideleteMedia,\r\n} from \"../../../../Utility/Utility\";\r\nimport FilerobotImageEditor from \"filerobot-image-editor\";\r\nimport editing from \"./../../../../Assets/images/templates/editing.png\";\r\nimport check from \"./../../../../Assets/images/templates/check.png\";\r\n\r\nimport home from \"./../../../../Assets/images/home-con.png\";\r\nimport Slider from \"@material-ui/core/Slider\";\r\nimport getCroppedImg from \"../../../../Utility/cropImage\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneSeventyEight= (props) => {\r\n const match = useRouteMatch(\"/template/:templateId/:id/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const [usertext1, setUsertext1] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [imageSrc, setImageSrc] = React.useState(null);\r\n const [editUrl, setEditUrl] = React.useState(\"\");\r\n const [imgindex, setImgindex] = React.useState(null);\r\n const [show, toggle] = React.useState(false);\r\n const [crop, setCrop] = React.useState({ x: 0, y: 0 });\r\n const [rotation, setRotation] = React.useState(0);\r\n const [zoom, setZoom] = React.useState(1);\r\n const [zoomToggle, setZoomToggle] = React.useState(false);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = React.useState(null);\r\n const [croppedImage, setCroppedImage] = React.useState(null);\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n const [mediaArray1, setMediaArray1] = React.useState([]);\r\n const [mediaArray2, setMediaArray2] = React.useState([]);\r\n const [showSlider, setshowSlider] = React.useState(true);\r\n\r\n const onCropComplete = React.useCallback((croppedArea, croppedAreaPixels) => {\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }, []);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n }\r\n }, [userId]);\r\n const showCroppedImage = React.useCallback(async () => {\r\n setProcessing(true);\r\n try {\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n console.log(croppedImage);\r\n setCroppedImage(croppedImage);\r\n var croppedimg = \"\";\r\n axios({\r\n method: \"get\",\r\n url: croppedImage,\r\n responseType: \"blob\",\r\n }).then(function (response) {\r\n console.log(response.data);\r\n croppedimg = response.data;\r\n var formData = new FormData();\r\n\r\n formData.append(\"file\", croppedimg, \"scale-img.jpg\");\r\n formData.append(\"userId\", userId);\r\n formData.append(\"templateId\", templateId);\r\n // API Call\r\n setProcessing(true);\r\n axios\r\n .post(`${apiUploadImage}`, formData)\r\n .then((response) => {\r\n setProcessing(false);\r\n let fileUrl = response.data.message\r\n .replace(/\\\\/g, \"/\")\r\n .substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n console.log(updatedImage);\r\n closeScale(50);\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n })\r\n .catch((error) => { });\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }, [croppedAreaPixels, rotation]);\r\n const onClose = React.useCallback(() => {\r\n setCroppedImage(null);\r\n }, []);\r\n //console.log(props.content)\r\n const config = {\r\n tools: [\r\n \"adjust\",\r\n \"effects\",\r\n \"filters\",\r\n \"rotate\",\r\n \"crop\",\r\n \"resize\",\r\n \"image\",\r\n \"text\",\r\n ],\r\n theme: {\r\n colors: {\r\n primaryBg: \"#eee\",\r\n primaryBgHover: \"#637381\",\r\n secondaryBg: \"#777\",\r\n secondaryBgHover: \"#ee6352\",\r\n text: \"#F9FAFB\",\r\n textHover: \"#eee\",\r\n textMute: \"#aaaaaa\",\r\n textWarn: \"#f7931e\",\r\n secondaryBgOpacity: \"rgba(0, 0, 0, 0.75)\",\r\n border: \"#eee\",\r\n borderLight: \"#637381\",\r\n tagsBackground: \"#fb3640\",\r\n buttonBackground: \"#fb3640\",\r\n hoverButtonBackground: \"#E04241\",\r\n },\r\n },\r\n };\r\n\r\n function filterBtnClick(scene, index) {\r\n setImgindex(index);\r\n setEditUrl(scene);\r\n toggle(true);\r\n }\r\n const closeScale = (index) => {\r\n setTimeout(function () {\r\n setImgindex(index);\r\n }, 100);\r\n };\r\n const setzoomToggle = () => {\r\n console.log(\"here\");\r\n setTimeout(function () {\r\n setZoomToggle(!zoomToggle);\r\n }, 100);\r\n };\r\n\r\n const onComplete = function (newUrl) {\r\n let fileUrl = newUrl.message.replace(/\\\\/g, \"/\").substring(\"public\".length);\r\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\r\n let updatedImage = imageUrl;\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[imgindex] = {\r\n type: \"img\",\r\n url: updatedImage,\r\n };\r\n\r\n setMediaArray(newArr);\r\n props.dropMedia(false, updatedImage, \"img\", imgindex, newArr);\r\n };\r\n const ImageEditor = new FilerobotImageEditor(config, onComplete);\r\n\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n setImageSrc(apiPath + scene);\r\n setImgindex(index);\r\n setZoomToggle(false);\r\n if (index != imgindex) {\r\n setZoom(1);\r\n }\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n const settings = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 5000,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n const settings2 = {\r\n arrows: false,\r\n infiniteLoop: true,\r\n autoPlay: true,\r\n interval: 6500,\r\n transitionTime: 2000,\r\n showArrows: false,\r\n showStatus: false,\r\n showIndicators: false,\r\n swipeable: true,\r\n stopOnHover: true,\r\n showThumbs: false,\r\n };\r\n\r\n React.useEffect(() => {\r\n // props.mediaArray.map((data, index) => {\r\n // {\r\n // index <= 1\r\n // ? setMediaArray1((medias) => [...medias, data])\r\n // : index > 1 && index <= 3\r\n // ? setMediaArray2((media) => [...media, data])\r\n // : null;\r\n // }\r\n // });\r\n if (props.data) {\r\n mediaArray.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n });\r\n setUsertext1(textArrays[0].text);\r\n }\r\n }, [textArrays, props.data]);\r\n textArrays.map((data, index) => {\r\n window[\"layout\" + index] = [\r\n {\r\n key: \"test\" + index,\r\n x: data.x,\r\n y: data.y,\r\n width: data.boxWidth,\r\n height: data.boxHeight,\r\n zIndex: 1,\r\n },\r\n ];\r\n window[\"canResizable\" + index] = (isResize) => {\r\n return {\r\n top: isResize,\r\n right: isResize,\r\n bottom: isResize,\r\n left: isResize,\r\n topRight: isResize,\r\n bottomRight: isResize,\r\n bottomLeft: isResize,\r\n topLeft: isResize,\r\n };\r\n };\r\n window[\"onLayoutChange\" + index] = (e, index) => {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: newArr[index].text,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: e[0].x,\r\n y: e[0].y,\r\n boxWidth: e[0].width,\r\n boxHeight: e[0].height,\r\n };\r\n props.getContent(newArr);\r\n textArrays = newArr;\r\n };\r\n });\r\n function getcontent(e, index, count) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n const maxlimit = count;\r\n let charc = e.target.value;\r\n if (e.target.value.length > maxlimit) {\r\n charc = e.target.value.substring(0, maxlimit);\r\n newArr[index] = {\r\n text: charc,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n } else {\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n x: newArr[index].x,\r\n y: newArr[index].y,\r\n boxWidth: newArr[index].boxWidth,\r\n boxHeight: newArr[index].boxHeight,\r\n };\r\n props.getContent(newArr);\r\n }\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n const handleDropComplete = (e, index) => {\r\n if (index >= 0 && index <= 5) {\r\n setshowSlider(false);\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n props.dropMedia(false, imgUrl, \"img\", index);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n setMediaArray(newArr);\r\n setMediaArray1([]);\r\n setMediaArray2([]);\r\n newArr.map((data, index) => {\r\n {\r\n index <= 1\r\n ? setMediaArray1((media2) => [...media2, data])\r\n : index > 1 && index <= 3\r\n ? setMediaArray2((media3) => [...media3, data])\r\n : null;\r\n }\r\n if (index == 3) {\r\n setshowSlider(true);\r\n }\r\n });\r\n }\r\n setDragoverId(0);\r\n //console.log(index)\r\n };\r\n return (\r\n
    \r\n {showSlider ? (\r\n
    \r\n
    \r\n
    \r\n {\r\n setsctiveFontFamily(0);\r\n }}\r\n onChange={(e) => getcontent(e, 0, 12)}\r\n value={textArrays[0].text}\r\n >\r\n \r\n setsctiveFontFamily(3)}\r\n onChange={(e) => getcontent(e, 3, 60)}\r\n value={textArrays[3].text}\r\n >\r\n \r\n
    \r\n
    \r\n {mediaArray.map((data, index) => {\r\n return index == 0 ? (\r\n \r\n setshowbg(true, data.url, data.type, false, index)\r\n }\r\n onDragEnter={(e) => handleDrag(e, index + 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, index)}\r\n className={\r\n dragoverId == index + 1\r\n ? \"bg box-1 opacity\"\r\n : \"bg box-1 \"\r\n }\r\n style={{\r\n \"background-image\": \"url(\" + apiPath + data.url + \") \",\r\n }}\r\n >\r\n {imgindex == index ? (\r\n
    \r\n
    \r\n setzoomToggle()}\r\n >\r\n Scale\r\n
    \r\n
    \r\n filterBtnClick(data.url, index)}\r\n data-tip=\"\"\r\n data-for=\"edit\"\r\n />\r\n \r\n Edit\r\n \r\n
    \r\n
    \r\n showCroppedImage(data.url)}\r\n data-tip=\"\"\r\n data-for=\"done\"\r\n />\r\n \r\n Done\r\n \r\n
    \r\n closeScale(50)}\r\n >\r\n Close\r\n
    \r\n
    \r\n\r\n {imgindex == index && zoomToggle ? (\r\n
    \r\n setZoom(zoom)}\r\n />\r\n
    \r\n ) : null}\r\n\r\n \r\n
    \r\n ) : null}\r\n
    \r\n ) : null;\r\n })}\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n {\r\n toggle(false);\r\n }}\r\n onComplete={onComplete}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SceneSeventyEight;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport Footer from \"../../../../Footer\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneSeventyEight from \"./Scene78\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"../../GlobalOptions/GlobalOptions\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdateBlock,\r\n} from \"../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"../../AddMusic/AddMusic\";\r\nconst TemplateScene78 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/78/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n const [time, setTime] = React.useState(7.5);\r\n\r\n function getTime(scenetime) {\r\n setTime(scenetime);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: scenetime,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor);\r\n }\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontFamily(fontfamily);\r\n let newArr = [...textArray];\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setFontWeight(fontweight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data, true);\r\n }\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setTextColor(color);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: time,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n console.log(scene);\r\n // if (index) {\r\n // setTextSize(textArray[index].fontSize);\r\n // setFontWeight(textArray[index].fontWeight);\r\n // setFontFamily(textArray[index].fontFamily)\r\n // }\r\n setArrayIndex(index);\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setContainer(container);\r\n setShowGlobal(false);\r\n\r\n //console.log(textArray[index].fontSize)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: time,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function getContent(content) {\r\n setTextArray(content);\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n const data = {\r\n textArray: content,\r\n time: time,\r\n media: mediaArray,\r\n };\r\n updateData(data, true);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n if (!norefresh) {\r\n reFetchData(true);\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n if (block.sceneId == 78) {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n // setFontFamily(\r\n // block.sceneData.textArray[1].fontFamily\r\n // );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n setTime(block.sceneData.time)\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n console.log(upatedData);\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateScene78;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { apiPath } from \"../../../../Utility/Utility\";\r\n// import userImg from \"../../../../../assets/images/User/Template/user.png\";\r\n// import LogoImg from \"../../../../../assets/images/User/Template/Resizer.webp\";\r\nimport Loader from \"../../../../Utility/Loader/Loader\";\r\nconst SceneLast2 = (props) => {\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n React.useEffect(() => {\r\n if (props.mediaArray) {\r\n setMediaArray(props.mediaArray);\r\n }\r\n }, [textArrays, props.data]);\r\n\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n };\r\n props.getContent(newArr);\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n console.log(newArr)\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n props.dropMedia(false, imgUrl, \"img\", index, newArr);\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n \"0\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1\r\n ? \"img-fluid userimg opacity\"\r\n : \"img-fluid userimg \"\r\n }\r\n alt=\"userImg\"\r\n />\r\n
    \r\n
    \r\n
    \r\n {textArrays.map((data, index) => {\r\n return (\r\n setsctiveFontFamily(index)}\r\n >\r\n getcontent(e, index)}\r\n >\r\n
    \r\n );\r\n })}\r\n handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n onClick={() =>\r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n \"1\"\r\n )\r\n }\r\n className={\r\n dragoverId == 2\r\n ? \"img-fluid logo-img opacity\"\r\n : \"img-fluid logo-img \"\r\n }\r\n\r\n alt=\"userImg\"\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\nexport default SceneLast2;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneLast2 from \"./SceneLast2\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\n// import userImg from \"../../../../../assets/images/User/Template/user.png\";\r\n// import LogoImg from \"../../../../../assets/images/User/Template/Resizer.webp\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdatLastScene,\r\n apiUpdateScene,\r\n apiGetLastScene,\r\n apiUpdateBlock\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateSceneLast2 = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/last2/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n // const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n // const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: userImg,\r\n // type: \"image/png\",\r\n // },\r\n // {\r\n // url: LogoImg,\r\n // type: \"image/png\",\r\n // },\r\n // ]);\r\n // const [textArray, setTextArray] = React.useState([\r\n // {\r\n // text: \"Devon Carrick\",\r\n // fontSize: \"35\",\r\n // fontFamily: \"\",\r\n // fontWeight: \"600\",\r\n // fontLineHeight: \"1.4\",\r\n // fontAlignment: \"text-left\",\r\n // fontColor: \"#333\",\r\n // fontCapitalize: \"\",\r\n // },\r\n // {\r\n // text: \"devon-carrick.kw.com\",\r\n // fontSize: \"22\",\r\n // fontFamily: \"\",\r\n // fontWeight: \"500\",\r\n // fontLineHeight: \"1.4\",\r\n // fontAlignment: \"text-left\",\r\n // fontColor: \"#333\",\r\n // fontCapitalize: \"\",\r\n // },\r\n // {\r\n // text: \"devoncarrick@kw.com\",\r\n // fontSize: \"22\",\r\n // fontFamily: \"\",\r\n // fontWeight: \"500\",\r\n // fontLineHeight: \"1.4\",\r\n // fontAlignment: \"text-left\",\r\n // fontColor: \"#333\",\r\n // fontCapitalize: \"\",\r\n // },\r\n // {\r\n // text: \"99-628-32220\",\r\n // fontSize: \"22\",\r\n // fontFamily: \"\",\r\n // fontWeight: \"500\",\r\n // fontLineHeight: \"1.4\",\r\n // fontAlignment: \"text-left\",\r\n // fontColor: \"#333\",\r\n // fontCapitalize: \"\",\r\n // },\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n\r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 4,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index, newArr) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n // let newArr = [...mediaArray]; // copying the old datas array\r\n // newArr[container] = {\r\n // type: mediaType,\r\n // url: mediaFile,\r\n // };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 4,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextArray(content);\r\n const data = {\r\n textArray: content,\r\n time: 4,\r\n media: mediaArray,\r\n };\r\n updateData(data);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdateBlock}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n // getData();\r\n console.log(response);\r\n reFetchData(true)\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n if (response.data.data[0].blocks.length > 0) {\r\n //setBlocks(response.data.data[0].blocks);\r\n response.data.data[0].blocks.map((block) => {\r\n console.log(block)\r\n if (block.sceneId == 'last2') {\r\n setUpatedData(block.sceneData);\r\n console.log(block.sceneData);\r\n setMediaArray(block.sceneData.media);\r\n setTextArray(block.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(block.sceneData.textArray[0].fontSize);\r\n setFontFamily(block.sceneData.textArray[0].fontFamily);\r\n setFontWeight(block.sceneData.textArray[0].fontWeight);\r\n setTextColor(block.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n block.sceneData.textArray[1].fontSize\r\n );\r\n setFontFamily(\r\n block.sceneData.textArray[1].fontFamily\r\n );\r\n setFontWeight(\r\n block.sceneData.textArray[1].fontWeight\r\n );\r\n setTextColor(\r\n block.sceneData.textArray[1].fontColor\r\n );\r\n }\r\n setData(block.sceneData);\r\n }\r\n });\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n //console.log(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateSceneLast2;\r\n","/* eslint-disable no-lone-blocks */\r\n/* eslint-disable no-unused-expressions */\r\n/* eslint-disable eqeqeq */\r\nimport React from \"react\";\r\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\"; // requires a loader\r\nimport { Carousel } from \"react-responsive-carousel\";\r\nimport DragResizeContainer from \"react-drag-resize\";\r\nimport { apiPath } from \"./../../../../Utility/Utility\";\r\n// import userImg from \"../../../../../assets/images/User/Template/user.png\";\r\n// import LogoImg from \"../../../../../assets/images/User/Template/Resizer.webp\";\r\nimport Loader from \"./../../../../Utility/Loader/Loader\";\r\nconst SceneLast = (props) => {\r\n const [mediaArray, setMediaArray] = React.useState(props.mediaArray);\r\n const [dragoverId, setDragoverId] = React.useState(0);\r\n var textArrays = props.textArray;\r\n function setshowbg(option, scene, type, titleColor, index, textIndex) {\r\n props.showBg(option, type, scene, titleColor, index, textIndex);\r\n }\r\n function setsctiveFontFamily(option) {\r\n props.setActiveFontFamily(option);\r\n }\r\n React.useEffect(() => {\r\n if (props.mediaArray) {\r\n setMediaArray(props.mediaArray);\r\n }\r\n }, [textArrays, props.data]);\r\n\r\n function getcontent(e, index) {\r\n let newArr = [...textArrays]; // copying the old datas array\r\n newArr[index] = {\r\n text: e.target.value,\r\n fontSize: newArr[index].fontSize,\r\n fontFamily: newArr[index].fontFamily,\r\n fontWeight: newArr[index].fontWeight,\r\n fontLineHeight: newArr[index].fontLineHeight,\r\n fontAlignment: newArr[index].fontAlignment,\r\n fontColor: newArr[index].fontColor,\r\n fontCapitalize: newArr[index].fontCapitalize,\r\n };\r\n props.getContent(newArr);\r\n }\r\n const handleDrop = (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n const handleDropComplete = (e, index) => {\r\n let imgUrl = e.dataTransfer.getData(\"img\");\r\n \r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[index] = {\r\n type: \"img\",\r\n url: imgUrl,\r\n };\r\n console.log(newArr)\r\n setMediaArray(newArr);\r\n setDragoverId(0);\r\n props.dropMedia(false, imgUrl, \"img\", index, newArr) ;\r\n };\r\n const handleDrag = (e, id) => {\r\n console.log(id);\r\n setDragoverId(id);\r\n };\r\n const removeDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n const endDrag = (e, id) => {\r\n setDragoverId(0);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n setshowbg(\r\n true,\r\n mediaArray[0].url,\r\n mediaArray[0].type,\r\n false,\r\n \"0\"\r\n )\r\n }\r\n onDragEnter={(e) => handleDrag(e, 1)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 0)}\r\n className={\r\n dragoverId == 1\r\n ? \"img-fluid userimg opacity\"\r\n : \"img-fluid userimg \"\r\n }\r\n alt=\"userImg\"\r\n />\r\n
    \r\n
    \r\n {textArrays.map((data, index) => {\r\n return (\r\n setsctiveFontFamily(index)}\r\n >\r\n getcontent(e, index)}\r\n >\r\n
    \r\n );\r\n })}\r\n handleDrag(e, 2)}\r\n onDragLeave={(e) => removeDrag()}\r\n onDragOver={(e) => handleDrop(e)}\r\n onDrop={(e) => handleDropComplete(e, 1)}\r\n onClick={() =>\r\n setshowbg(\r\n true,\r\n mediaArray[1].url,\r\n mediaArray[1].type,\r\n false,\r\n \"1\"\r\n )\r\n }\r\n className={\r\n dragoverId == 2\r\n ? \"img-fluid logo-img opacity\"\r\n : \"img-fluid logo-img \"\r\n }\r\n \r\n alt=\"userImg\"\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\nexport default SceneLast;\r\n","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch } from \"react-router-dom\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport SiteHeader from \"../../../../Header/HeaderUser\";\r\nimport SidebarLeft from \"../../SidebarLeft/SidebarLeft\";\r\nimport TextEditor from \"../../TextEditor/TextEditor\";\r\nimport ChangeBg from \"../../ChangeBg\";\r\nimport SceneLast from \"./SceneLast\";\r\nimport AddMedia from \"../../AddMedia/AddMedia\";\r\nimport AddScenes from \"../../AddScenes/AddScenes\";\r\nimport TopSection from \"../../TopSection/TopSection\";\r\nimport BottomSection from \"../../BottomSection/BottomSection\";\r\nimport GlobalOptions from \"./../../GlobalOptions/GlobalOptions\";\r\n// import userImg from \"../../../../../assets/images/User/Template/user.png\";\r\n// import LogoImg from \"../../../../../assets/images/User/Template/Resizer.webp\";\r\nimport {\r\n apigetAdminTemplate,\r\n apiUpdatLastScene,\r\n apiUpdateScene,\r\n apiGetLastScene,\r\n} from \"./../../../../Utility/Utility\";\r\nimport Player from \"../../Player\";\r\nimport AddMusic from \"./../../AddMusic/AddMusic\";\r\nconst TemplateSceneLast = (props) => {\r\n const [sceneOrder, setSceneOrder] = React.useState(\"\");\r\n const [parenttemplateId, setParenttemplateId] = React.useState(\"\");\r\n const [bottomData, setBottomData] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const match = useRouteMatch(\"/template/:templateId/last/:sceneId\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n const {\r\n params: { sceneId },\r\n } = match;\r\n const [templateTitle, setTemplateTitle] = React.useState(\"\");\r\n const [data, setData] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n // const [textAligmnet, setTextAligmnet] = React.useState(\"text-center\");\r\n const [bgType, setBgType] = React.useState(\"\");\r\n const [bgScene, setBgScene] = React.useState(\"\");\r\n const [textColor, setTextColor] = React.useState(\"\");\r\n const [content, setContent] = React.useState(\"\");\r\n const [textlineHeight, setTextlineHeight] = React.useState(\"1.4\");\r\n const [textSize, setTextSize] = React.useState(\"\");\r\n // const [textTransform, setTexttransform] = React.useState(\"\");\r\n const [changeBg, setChangeBg] = React.useState(false);\r\n const [addMedia, setAddMedia] = React.useState(false);\r\n const [addScene, setAddScene] = React.useState(false);\r\n const [addMusic, setAddMusic] = React.useState(false);\r\n const [container, setContainer] = React.useState(\"\");\r\n const [arrayIndex, setArrayIndex] = React.useState(0);\r\n const [showEditbutton, setShowEditbutton] = React.useState(false);\r\n const [playActive, setPlayActive] = React.useState(false);\r\n const [sceneThumbnail, setSceneThumbnail] = React.useState(\"\");\r\n const [selectedCategory, setSelectedCategory] = React.useState(\"\");\r\n const [bottomsectionActive, setBottomsectionActive] = React.useState(false);\r\n const [fontFamily, setFontFamily] = React.useState(\"\");\r\n const [fontWeight, setFontWeight] = React.useState(\"\");\r\n const [showGlobal, setShowGlobal] = React.useState(false);\r\n const [undoData, setUndoData] = React.useState([]);\r\n const [redoData, setRedoData] = React.useState([]);\r\n const [upatedData, setUpatedData] = React.useState([]);\r\n // const [mediaArray, setMediaArray] = React.useState([\r\n // {\r\n // url: userImg,\r\n // type: \"image/png\",\r\n // },\r\n // {\r\n // url: LogoImg,\r\n // type: \"image/png\",\r\n // },\r\n // ]);\r\n // const [textArray, setTextArray] = React.useState([\r\n // {\r\n // text: \"Devon Carrick\",\r\n // fontSize: \"35\",\r\n // fontFamily: \"\",\r\n // fontWeight: \"600\",\r\n // fontLineHeight: \"1.4\",\r\n // fontAlignment: \"text-left\",\r\n // fontColor: \"#333\",\r\n // fontCapitalize: \"\",\r\n // },\r\n // {\r\n // text: \"devon-carrick.kw.com\",\r\n // fontSize: \"22\",\r\n // fontFamily: \"\",\r\n // fontWeight: \"500\",\r\n // fontLineHeight: \"1.4\",\r\n // fontAlignment: \"text-left\",\r\n // fontColor: \"#333\",\r\n // fontCapitalize: \"\",\r\n // },\r\n // {\r\n // text: \"devoncarrick@kw.com\",\r\n // fontSize: \"22\",\r\n // fontFamily: \"\",\r\n // fontWeight: \"500\",\r\n // fontLineHeight: \"1.4\",\r\n // fontAlignment: \"text-left\",\r\n // fontColor: \"#333\",\r\n // fontCapitalize: \"\",\r\n // },\r\n // {\r\n // text: \"99-628-32220\",\r\n // fontSize: \"22\",\r\n // fontFamily: \"\",\r\n // fontWeight: \"500\",\r\n // fontLineHeight: \"1.4\",\r\n // fontAlignment: \"text-left\",\r\n // fontColor: \"#333\",\r\n // fontCapitalize: \"\",\r\n // },\r\n // ]);\r\n const [mediaArray, setMediaArray] = React.useState([]);\r\n const [textArray, setTextArray] = React.useState([]);\r\n\r\n function getFontfamily(fontfamily) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: fontfamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getFontWeight(fontweight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: fontweight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getAlignment(alignment) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: alignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n\r\n function getTextTransform(texttransform) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: texttransform,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextColor(color) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: color,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextlineHeight(lineHeight) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextlineHeight(lineHeight);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: newArr[arrayIndex].fontSize,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: lineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function getTextSize(size) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextSize(size);\r\n console.log(arrayIndex);\r\n let newArr = [...textArray]; // copying the old datas array\r\n newArr[arrayIndex] = {\r\n text: newArr[arrayIndex].text,\r\n fontSize: size,\r\n fontFamily: newArr[arrayIndex].fontFamily,\r\n fontWeight: newArr[arrayIndex].fontWeight,\r\n fontLineHeight: newArr[arrayIndex].fontLineHeight,\r\n fontAlignment: newArr[arrayIndex].fontAlignment,\r\n fontColor: newArr[arrayIndex].fontColor,\r\n fontCapitalize: newArr[arrayIndex].fontCapitalize,\r\n x: newArr[arrayIndex].x,\r\n y: newArr[arrayIndex].y,\r\n boxWidth: newArr[arrayIndex].boxWidth,\r\n boxHeight: newArr[arrayIndex].boxHeight,\r\n };\r\n setTextArray(newArr);\r\n //console.log(newArr)\r\n const data = {\r\n media: mediaArray,\r\n time: 4,\r\n textArray: newArr,\r\n };\r\n updateData(data);\r\n }\r\n function showBg(changeBg, type, scene, titleColor, container, index) {\r\n \r\n setChangeBg(changeBg);\r\n setBgType(type);\r\n setBgScene(scene);\r\n setShowGlobal(false);\r\n setContainer(container);\r\n }\r\n function setActiveFontFamily(index) {\r\n setChangeBg(false);\r\n setShowGlobal(false);\r\n setArrayIndex(index);\r\n setTextSize(textArray[index].fontSize);\r\n setFontWeight(textArray[index].fontWeight);\r\n setFontFamily(textArray[index].fontFamily);\r\n setTextColor(textArray[index].fontColor)\r\n }\r\n function showAddMedia(media, mediaFile) {\r\n setAddMedia(media);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function showMusic(media) {\r\n setAddMusic(media);\r\n setAddMedia(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddMedia(media, mediaFile, mediaType) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n let newArr = [...mediaArray]; // copying the old datas array\r\n newArr[container] = {\r\n type: mediaType,\r\n url: mediaFile,\r\n };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 4,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function dropMedia(media, mediaFile, mediaType, index, newArr) {\r\n if (mediaFile) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setBgType(mediaType);\r\n setBgScene(mediaFile);\r\n // let newArr = [...mediaArray]; // copying the old datas array\r\n // newArr[container] = {\r\n // type: mediaType,\r\n // url: mediaFile,\r\n // };\r\n setMediaArray(newArr);\r\n const data = {\r\n media: newArr,\r\n time: 4,\r\n textArray: textArray,\r\n };\r\n updateData(data);\r\n }\r\n setAddMedia(media);\r\n }\r\n function showAddScene(mediaactive, scene) {\r\n setAddScene(mediaactive);\r\n setAddMusic(false);\r\n setShowGlobal(false);\r\n }\r\n function closeAddScene(media) {\r\n setAddScene(media);\r\n setShowEditbutton(false);\r\n setShowGlobal(false);\r\n }\r\n function showglobal(global) {\r\n setShowGlobal(global);\r\n setAddMusic(false);\r\n setAddMedia(false);\r\n }\r\n function getContent(content) {\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n setTextArray(content);\r\n const data = {\r\n textArray: content,\r\n time: 4,\r\n media: mediaArray,\r\n };\r\n updateData(data);\r\n }\r\n function updateData(data, norefresh) {\r\n setData(data);\r\n setUpatedData(data);\r\n axios\r\n .put(`${apiUpdatLastScene}/${sceneId}`, {\r\n id: sceneId,\r\n sceneData: data,\r\n })\r\n .then(function (response) {\r\n // getData();\r\n console.log(response);\r\n reFetchData(true)\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserId(decoded.id);\r\n //console.log(decoded.id)\r\n getData();\r\n }\r\n // console.log(textSize);\r\n }, [userId]);\r\n\r\n function getData(check) {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n if (response.data.data.length > 0) {\r\n setBlocks(response.data.data[0].blocks);\r\n if (typeof response.data.data[0] !== undefined) {\r\n if (check != true) {\r\n setParenttemplateId(response.data.data[0].templateId);\r\n setTemplateTitle(response.data.data[0].title);\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n setSceneOrder(response.data.data[0].sceneOrder);\r\n setSceneThumbnail(response.data.data[0].templateImage);\r\n setSelectedCategory(response.data.data[0].templateCategory);\r\n }\r\n } else {\r\n setBottomsectionActive(false);\r\n setBottomData(response.data.data[0]);\r\n setBottomsectionActive(true);\r\n }\r\n }\r\n });\r\n axios\r\n .get(`${apiGetLastScene}` + \"?id=\" + templateId, {})\r\n .then(function (response) {\r\n console.log(response.data.scene.sceneData);\r\n setUpatedData(response.data.scene.sceneData);\r\n setMediaArray(response.data.scene.sceneData.media);\r\n setTextArray(response.data.scene.sceneData.textArray);\r\n if (arrayIndex == 0) {\r\n setTextSize(response.data.scene.sceneData.textArray[0].fontSize);\r\n setFontWeight(response.data.scene.sceneData.textArray[0].fontWeight);\r\n setFontFamily(response.data.scene.sceneData.textArray[0].fontFamily);\r\n setTextColor(response.data.scene.sceneData.textArray[0].fontColor);\r\n } else {\r\n setTextSize(\r\n response.data.scene.sceneData.textArray[arrayIndex].fontSize\r\n );\r\n setFontWeight(\r\n response.data.scene.sceneData.textArray[arrayIndex].fontWeight\r\n );\r\n setFontFamily(\r\n response.data.scene.sceneData.textArray[arrayIndex].fontFamily\r\n );\r\n setTextColor(response.data.scene.sceneData.textArray[arrayIndex].fontColor);\r\n }\r\n\r\n setData(response.data.scene.sceneData);\r\n });\r\n }\r\n function playVideo(click) {\r\n setPlayActive(click);\r\n }\r\n function reFetchData() {\r\n getData();\r\n }\r\n function undodata() {\r\n let productindex = parseInt(undoData.length) - 1;\r\n //console.log(undoData);\r\n let data = undoData[productindex];\r\n setRedoData((prevState) => [...prevState, upatedData]);\r\n updateData(data);\r\n let popped = undoData;\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n // updateData(popped)\r\n console.log(newRetails);\r\n // setUndoData([popped]);\r\n setUndoData(newRetails);\r\n setTimeout(function () {\r\n getData();\r\n }, 1000);\r\n }\r\n function redodata() {\r\n let popped = redoData;\r\n let productindex = parseInt(redoData.length) - 1;\r\n setUndoData((prevState) => [...prevState, upatedData]);\r\n updateData(redoData[productindex]);\r\n let newRetails = popped.filter(function (item, index) {\r\n return index != productindex;\r\n });\r\n setRedoData(newRetails);\r\n getData();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {templateTitle ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n {addMedia ? (\r\n \r\n ) : addScene ? (\r\n \r\n ) : addMusic ? (\r\n \r\n ) : textArray != \"\" ? (\r\n playActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : null}\r\n\r\n {addMedia ? null : addScene ? null : addMusic ? null : showGlobal ? null : changeBg ===\r\n false ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : (\r\n \r\n )}\r\n {showGlobal && !changeBg && !addMedia && !addScene && !addMusic ? (\r\n data != \"\" ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {bottomsectionActive ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default TemplateSceneLast;\r\n","import React from \"react\";\n\nimport SiteHeader from \"./../../Header/HeaderUser\";\nimport Footer from \"../../Footer\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport { useRouteMatch, useHistory } from \"react-router-dom\";\nimport {\n apigetAdminTemplate,\n apiPath,\n apiaddAdminTemplate,\n} from \"./.././../Utility/Utility\";\nimport Loader from \"./../../Utility/Loader/Loader\";\nconst CreateTemplate = () => {\n const [processing, setProcessing] = React.useState(false);\n const match = useRouteMatch(\"/create-template/:templateId/\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [userId, setUserId] = React.useState(\"\");\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n let history = useHistory();\n const {\n params: { templateId },\n } = match;\n const [data, setData] = React.useState([]);\n React.useEffect(() => {\n setProcessing(false);\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n //const decoded = jwt_decode(token);\n var lastsceneexculde = false;\n if (templateId == '6399ad1570446a16f20033e6') {\n lastsceneexculde = true;\n }\n setUserId(decoded.id);\n axios\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\n .then(function (response) {\n console.log(response.data.data);\n // history.push(\"/home\");\n axios\n .post(apiaddAdminTemplate, {\n userId: decoded.id,\n templateId: templateId,\n title: response.data.data[0].title,\n templateImage: response.data.data[0].templateImage,\n templatePreview: response.data.data[0].templatePreview,\n adminTemplate: false,\n sceneOrder: response.data.data[0].blocks,\n templateCategory: response.data.data[0].selectedCategory,\n lastSceneOption: lastsceneexculde\n })\n .then((response) => {\n //console.log(response)\n const order = response.data.blockData.sort((a, b) => a.order - b.order);\n setTimeout(function () {\n setProcessing(false); \n\n history.push(\n \"/template/\" +\n order[\"0\"].templateId +\n \"/\" +\n order[\"0\"].sceneId +\n \"/\" +\n order[\"0\"]._id\n );\n document.getElementById(\"lottie\").style.display = \"none\";\n }, 3000);\n setSuccessMessage(response.data.message);\n setLoader(false);\n })\n .catch((error) => {\n console.log(error);\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n });\n }\n }, []);\n return (\n
    \n \n \n
    \n {/*
    \n C\n R\n E\n A\n T\n I\n N\n G\n \n T\n E\n M\n P\n A\n T\n E\n .\n .\n .\n
    \n */}\n {/*
    */}\n
    \n\n\n\n
    \n
    \n );\n};\nexport default CreateTemplate;\n","/* eslint-disable no-loop-func */\n/* eslint-disable no-undef */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport { Link , useHistory } from \"react-router-dom\";\nimport toplog from \"./../../Assets/images/toplogo.png\";\nimport icon1 from \"./../../Assets/images/icon1.png\";\nimport icon2 from \"./../../Assets/images/icon2.png\";\nimport icon3 from \"./../../Assets/images/icon3.png\";\nimport icon4 from \"./../../Assets/images/icon4.png\";\nimport icon5 from \"./../../Assets/images/icon5.png\";\nimport logout from \"./../../Assets/images/logout.png\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\n\nconst Sidebar = () => {\n let history = useHistory();\n const cookies = new Cookies();\n function logOut() {\n cookies.get(\"token\");\n cookies.remove(\"token\");\n localStorage.removeItem('token');\n history.push(\"/login\");\n\n }\n return (\n
    \n \"top\"\n
      \n
    • \"top\" OverView
    • \n
    • \"top\" Templates
    • \n
    • \"top\" My Projects
    • \n
    • \"top\" Exported Videos
    • \n
    • \"top\" Our Teams
    • \n
    • \"top\" Logout
    • \n
    \n
    \n\n );\n};\nexport default Sidebar;\n","/* eslint-disable no-loop-func */\n/* eslint-disable no-undef */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport { Link } from \"react-router-dom\";\nimport React, { useState } from \"react\";\nimport { Container } from \"reactstrap\";\nimport logo from \"./../../Assets/images/header/logo.svg\";\n\nimport UserIcon from \"./../../Assets/images/User/Header/menu-item.svg\";\nimport Loader from \"./../../Utility/Loader/Loader\";\nimport UserAvatar from \"./../../Assets/images/User/Header/default.png\";\nimport jwt_decode from \"jwt-decode\";\nimport { Redirect } from \"react-router-dom\";\nimport Cookies from \"universal-cookie\";\nimport { apiPath } from \"./../../Utility/Utility\";\nimport FontPicker from \"font-picker-react\";\nimport {\n Dropdown,\n DropdownToggle,\n DropdownMenu,\n DropdownItem,\n} from \"reactstrap\";\n\n\nconst Top = (props) => {\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const [userName, setUserName] = React.useState(\"\");\n const [redirectPath, setRedirectPath] = React.useState(false);\n const [processing, setProcessing] = React.useState(false);\n const [loginType, setLoginType] = React.useState(\"\");\n const [profileImage, setProfileImage] = React.useState(\"\");\n const [activeFontFamily, setActiveFontFamily] = React.useState('Raleway');\n\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n console.log(tokens)\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n // console.log(decoded);\n setUserName(decoded.firstName);\n if (decoded.loginType) {\n setLoginType(decoded.loginType);\n }\n if (decoded.profileImage) {\n setProfileImage(decoded.profileImage);\n }\n } else {\n setRedirect();\n }\n setTimeout(function () {\n setActiveFontFamily(props.fontFamily)\n }, 600);\n }, [userToken, cookies, props.fontFamily]);\n\n const [dropdownOpen, setDropdownOpen] = useState(false);\n\n const toggle = () => setDropdownOpen((prevState) => !prevState);\n\n function setRedirect() {\n setRedirectPath(true);\n }\n function renderRedirect() {\n if (redirectPath) {\n return ;\n }\n }\n /**\n * Logout Function\n * @desc Remove user data from cookies\n * @returns na\n */\n function logOut() {\n cookies.get(\"token\");\n cookies.remove(\"token\");\n localStorage.removeItem('token');\n setProcessing(true);\n setTimeout(function () {\n setProcessing(false);\n setRedirect();\n //window.location.reload();\n }, 1000);\n }\n\n return (\n
    \n
    \n
    \n \n \n
    \n {loginType != \"\" ? (\n \"user\"\n ) : profileImage ? (\n \"user\"\n ) : (\n \"user\"\n )}\n
    \n {userName}\n
    \n \n \n \n \"Videos\" Exported Videos\n \n \n \n \n {\" \"}\n \"settings\" My Settings\n \n \n \n \n {\" \"}\n \"settings\" Team\n \n \n \n \"Logout\" Logout\n \n \n
    \n
    \n
    \n
    \n\n );\n};\nexport default Top;\n","/* eslint-disable eqeqeq */\nimport React from \"react\";\nimport { useRouteMatch, Link } from \"react-router-dom\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"./../../../Header/HeaderUser\";\nimport Footer from \"../../../Footer\";\nimport TopSection from \"./../../HomeV2/TopSection\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport {\n apigetTemplate,\n apiPath,\n apideleteTemplate,\n} from \"./../../../Utility/Utility\";\nimport Sidebar from \"../../Profile/Sidebar\";\nimport Loader from \"./../../../Utility/Loader/Loader\";\nimport Top from \"../../Profile/Top\";\nconst MyTemplates = (props) => {\n const [modal, setModal] = React.useState(false);\n const toggle = () => setModal(!modal);\n const [media, setMedia] = React.useState(\"\");\n const [dataTemplate, setData] = React.useState([]);\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const [userId, setUserId] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const { buttonLabel, className } = props;\n const [blockToDelete, setblockToDelete] = React.useState(\"\");\n const [processing, setProcessing] = React.useState(true);\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n // console.log(decoded.id)\n setUserId(decoded.id);\n }\n if (userId) {\n axios\n .get(`${apigetTemplate}?userId=${userId}`, {})\n .then(function (response) {\n setProcessing(false);\n setData(response.data.data);\n });\n }\n }, [userId]);\n function confirmDelete(id) {\n setModal(!modal);\n setblockToDelete(id);\n console.log(id);\n }\n function deleteBlock() {\n setModal(!modal);\n setProcessing(true);\n let blockId = blockToDelete;\n axios\n .delete(`${apideleteTemplate}`, {\n params: {\n templateId: blockId,\n },\n })\n .then(function (response) {\n //console.log(response.data.message)\n if (response.data.message) {\n setProcessing(false);\n } else {\n setProcessing(false);\n }\n window.location.reload();\n });\n }\n return (\n
    \n
    \n {/* */}\n\n \n \n {/* */}\n
    \n \n {/* */}\n
    \n

    My Templates

    \n \n {dataTemplate.length > 0 ? (\n
    \n {dataTemplate\n .sort((a, b) => a.order - b.order)\n .map((data, index) => {\n const order = data.blocks.sort((a, b) => a.order - b.order);\n return (\n
    \n
    \n {/* */}\n
    \n

    {data.title}

    \n
    \n \n Edit template\n \n \n
    \n
    \n
    \n );\n })}\n
    \n ) : (\n !processing ?\n
    \n
    No Templates available
    \n
    \n : null\n )}\n
    \n
    \n {/*
    */}\n \n Delete Template\n \n

    Are you sure you want to delete this template?

    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n );\n};\nexport default MyTemplates;\n","/* eslint-disable eqeqeq */\nimport React from \"react\";\nimport { useRouteMatch, Link } from \"react-router-dom\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../../Header/HeaderUser\";\nimport Footer from \"../../../Footer\";\nimport TopSection from \"../../HomeV2/TopSection\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport trash from \"./../../../Assets/images/templates/trash.svg\";\nimport downloagimg from \"./../../../Assets/images/templates/download.svg\";\nimport {\n apigetVideos,\n apiPath,\n apideleteVideos,\n} from \"../../../Utility/Utility\";\nimport Sidebar from \"../../Profile/Sidebar\";\nimport Loader from \"./../../../Utility/Loader/Loader\";\nimport Top from \"../../Profile/Top\";\nimport download from \"downloadjs\";\nconst MyVideos = (props) => {\n const [modal, setModal] = React.useState(false);\n const toggle = () => setModal(!modal);\n const [media, setMedia] = React.useState(\"\");\n const [data, setData] = React.useState([]);\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const [userId, setUserId] = React.useState(\"\");\n const [loader, setLoader] = React.useState(true);\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const { buttonLabel, className } = props;\n const [blockToDelete, setblockToDelete] = React.useState(\"\");\n const [processing, setProcessing] = React.useState(true);\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n // console.log(decoded.id)\n setUserId(decoded.id);\n }\n if (userId) {\n axios\n .get(`${apigetVideos}?userId=${userId}`, {})\n .then(function (response) {\n setProcessing(false);\n console.log(response.data.data);\n setData(response.data.data);\n });\n }\n }, [userId]);\n function confirmDelete(id, media) {\n setModal(!modal);\n setblockToDelete(id);\n setMedia(media);\n // console.log(id);\n }\n function deleteBlock() {\n setModal(!modal);\n setProcessing(true);\n let blockId = blockToDelete;\n axios\n .delete(`${apideleteVideos}`, {\n params: {\n mediaId: blockId,\n media: media,\n },\n })\n .then(function (response) {\n //console.log(response.data.message)\n if (response.data.message) {\n setProcessing(false);\n } else {\n setProcessing(false);\n }\n window.location.reload();\n });\n }\n function downloadVideo(videoUrl) {\n download(apiPath + videoUrl);\n }\n return (\n
    \n
    \n {/* */}\n\n \n \n {/* */}\n
    \n \n {/* */}\n
    \n

    My Videos

    \n {data != undefined && data.length > 0 ? (\n
    \n {data\n .sort((a, b) => a.order - b.order)\n .map((data, index) => {\n return (\n
    \n
    \n \n \n \n
    \n

    {data.videoTitle}

    \n
    \n downloadVideo(data.path)}\n >\n \n \n Share\n \n \n \n
    \n downloadVideo(data.path)}\n >\n \"Download\n
    \n
    \n \n confirmDelete(data._id, data.path)\n }\n />\n
    \n
    \n
    \n
    \n
    \n );\n })}\n
    \n ) : (\n !processing ?\n
    \n
    No Videos in the List
    \n
    \n : null\n )}\n
    \n \n \n \n Delete Video\n \n

    Are you sure you want to delete this video?

    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n );\n};\nexport default MyVideos;\n","import React from \"react\";\r\nimport SiteHeader from \"./../../Header/HeaderUser\";\r\nimport Footer from \"../../Footer\";\r\nimport axios from \"axios\";\r\nimport { useRouteMatch, Link } from \"react-router-dom\";\r\nimport download from \"downloadjs\";\r\nimport Player from \"../Templates/Player/Createtemplate\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport CountdownTimer from \"react-component-countdown-timer\";\r\nimport UserAvatar from \"./../../Assets/images/User/Header/default.png\";\r\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\r\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\r\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\r\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\r\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\r\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\r\nimport reveo_TempLogo from \"./../../Assets/images/templates/reveo_TempLogo.png\";\r\nimport \"react-component-countdown-timer/lib/styles.css\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\nimport Slider from \"react-slick\";\r\nimport {\r\n apiPreviewVideo,\r\n apiMergeVideo,\r\n apigetAdminTemplate,\r\n apiPath,\r\n} from \"./../../Utility/Utility\";\r\nconst ExportVideo = (props) => {\r\n const [templateData, setTemplateData] = React.useState(\"\");\r\n const [loaderCheck, setLoaderCheck] = React.useState(true);\r\n const [videoSuccess, setVideoSuccess] = React.useState(false);\r\n const [videoError, setVideoError] = React.useState(false);\r\n const [videoUrl, setVideoUrl] = React.useState(\"\");\r\n const [blocks, setBlocks] = React.useState(\"\");\r\n const [time, setTime] = React.useState(\"\");\r\n const match = useRouteMatch(\"/export-video/:templateId/download\");\r\n const {\r\n params: { templateId },\r\n } = match;\r\n let history = useHistory();\r\n // function videosMerged(data) {\r\n // axios\r\n // .post(apiMergeVideo, {\r\n // videos: data,\r\n // templateId: templateId,\r\n // })\r\n // .then((response) => {\r\n // console.log(response);\r\n // setLoaderCheck(false);\r\n // if (response.data.message == \"successfull\") {\r\n // setVideoUrl(response.data.data);\r\n // }\r\n // })\r\n // .catch((error) => {\r\n // console.log(error);\r\n // });\r\n // }\r\n function videoExport() {\r\n axios\r\n .post(apiPreviewVideo, {\r\n templateId: templateId,\r\n })\r\n .then((response) => {\r\n console.log(response);\r\n setLoaderCheck(false);\r\n if (response.data.message == \"successfull\") {\r\n setVideoUrl(response.data.data);\r\n history.push(\"/share/\" + response.data.uploadData._id);\r\n //videosMerged(response.data.data);\r\n setVideoError(false)\r\n } else {\r\n setVideoError(true)\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n var i = 1;\r\n React.useEffect(() => {\r\n setVideoError(false)\r\n if (templateData == \"\") {\r\n axios\r\n .get(`${apigetAdminTemplate}` + \"?templateId=\" + templateId, {})\r\n .then(function (response) {\r\n console.log(response.data.data[0].blocks);\r\n setTemplateData(response.data.data);\r\n setBlocks(response.data.data[0].blocks);\r\n if (response.data.data[0].blocks.length > 0) {\r\n const sceneLength = parseInt(response.data.data[0].blocks.length);\r\n\r\n let scenetimer = 60 * sceneLength;\r\n\r\n move(scenetimer * 10);\r\n console.log(scenetimer * 10);\r\n setTime(scenetimer);\r\n }\r\n if (i == 1) {\r\n videoExport();\r\n i++;\r\n }\r\n });\r\n }\r\n }, [templateData]);\r\n function downloadVideo() {\r\n download(apiPath + videoUrl);\r\n }\r\n var i = 0;\r\n function move(sceneLength) {\r\n if (i == 0) {\r\n i = 1;\r\n var elem = document.getElementById(\"myBar\");\r\n var width = 0;\r\n var id = setInterval(frame, sceneLength);\r\n function frame() {\r\n if (width >= 100) {\r\n clearInterval(id);\r\n i = 0;\r\n } else {\r\n width++;\r\n elem.style.width = width + \"%\";\r\n elem.innerHTML = width + \"%\";\r\n }\r\n }\r\n }\r\n }\r\n var settings = {\r\n dots: false,\r\n infinite: true,\r\n speed: 1500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 6000,\r\n\r\n };\r\n return (\r\n
    \r\n \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {videoUrl ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n ) : templateData != \"\" ? (\r\n // \r\n blocks ? (\r\n
    \r\n \r\n
    \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {loaderCheck ? (\r\n
    \r\n

    Your Video is Rendering...

    \r\n
    \r\n
    Please Wait
    \r\n
    Loading...
    \r\n
    \r\n
    0%
    \r\n
    \r\n\r\n {/* {time > 0 ? (\r\n \r\n ) : null} */}\r\n {/*
    \r\n
    \r\n ) : (\r\n
    \r\n

    Download your video

    \r\n

    \r\n Free exports can be downloaded and shared as often as you\r\n like.\r\n

    \r\n \r\n \r\n \r\n \r\n Download video\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*

    Export Video

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

    Your Video is Rendering...

    \r\n
    \r\n {!videoError ?\r\n
    \r\n\r\n
    \r\n \r\n
    Please wait for some time ...
    \r\n {/*
    \r\n Create and download unlimited HD 1080p videos in\r\n mp4.\r\n
    \r\n
    \r\n Easy one click share on social platforms.\r\n
    \r\n
    \r\n Customised videos according to your needs.\r\n
    \r\n
    \r\n Choose from various varieties of templates.\r\n
    \r\n
    \r\n We will notfify you once the video is created\r\n
    */}\r\n
    \r\n Your video is exporting\r\n
    \r\n
    Hang tight\r\n
    \r\n
    It’s almost done\r\n
    \r\n
    So close\r\n
    \r\n
    \r\n
    \r\n
    \r\n : null}\r\n {!videoError ?\r\n
    Loading...
    \r\n : null}\r\n {!videoError ?\r\n
    \r\n
    0%
    \r\n
    \r\n : null}\r\n\r\n {/* {time > 0 ? (\r\n \r\n ) : null} */}\r\n {videoError ?\r\n
    \r\n Error! error in video export. Please update the scenes and try again\r\n
    \r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \"triangle\"\r\n \r\n \r\n \r\n \"triangle\"\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n};\r\nexport default ExportVideo;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport UserAvatar from \"./../../Assets/images/User/Header/default.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport reveo_TempLogo from \"./../../Assets/images/templates/reveo_TempLogo.png\";\nimport Editing from \"./../../Assets/images/editing.png\";\nimport {\n schemaFname,\n apiUpdateUser,\n apiUploadImage,\n apiPath,\n} from \"./../../Utility/Utility\";\nimport Sidebar from \"./Sidebar\";\nimport Top from \"./Top\";\nconst Profile = () => {\n const [userId, setUserId] = React.useState(\"\");\n const [firstName, setFirstName] = React.useState(\"\");\n const [email, setEmail] = React.useState(\"\");\n const [website, setWebsite] = React.useState(\"\");\n const [agencyname, setAgencyname] = React.useState(\"\");\n const [agencylogo, setAgencylogo] = React.useState(\"\");\n const [profileImage, setProfileImage] = React.useState(\"\");\n const [phone, setPhone] = React.useState(\"\");\n const [userToken, setUserToken] = React.useState(\"\");\n const [loginType, setLoginType] = React.useState(\"\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [checkFirstname, setCheckFirstname] = React.useState(false);\n const [processing, setProcessing] = React.useState(false);\n\n const [toggleImg, setToggleImg] = React.useState(false);\n\n const [userImg, setUserImg] = React.useState(\"\");\n const cookies = new Cookies();\n\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n setUserId(decoded._id);\n setEmail(decoded.email);\n setFirstName(decoded.firstName);\n setPhone(decoded.phone);\n if (decoded.website) {\n setWebsite(decoded.website);\n }\n if (decoded.agencyname) {\n setAgencyname(decoded.agencyname);\n }\n if (decoded.agencylogo) {\n setAgencylogo(decoded.agencylogo);\n }\n if (decoded.profileImage) {\n\n if (decoded.profileImage.indexOf(\"template\") != -1) {\n setProfileImage(apiPath + decoded.profileImage);\n } else {\n setProfileImage(decoded.profileImage);\n }\n\n }\n if (decoded.loginType) {\n setLoginType(decoded.loginType);\n }\n }\n }, [email]);\n\n function handleSubmit(imageUrl) {\n console.log(imageUrl)\n setProcessing(true);\n // API Call\n axios\n .put(apiUpdateUser + userId, {\n firstName: firstName,\n phone: phone,\n agencyname: agencyname,\n agencylogo: agencylogo,\n id: userId,\n website: website,\n profileImage: imageUrl,\n })\n .then((response) => {\n setSuccessMessage(response.data.message);\n const cookies = new Cookies();\n const tokens = localStorage.setItem('token', response.data.token);\n cookies.set(\"token\", response.data.token, { path: \"/\" });\n cookies.set(\"userRole\", response.data.userRole, { path: \"/\" });\n setProcessing(false);\n setTimeout(function () {\n window.location.reload();\n }, 2000);\n })\n .catch((error) => {\n console.log(error);\n setErrorMessage(error.response.data.message);\n setProcessing(false);\n });\n }\n function setformImage(e, img) {\n ///console.log(e.target.files.length);\n for (var i = 0; i < e.target.files.length; i++) {\n var parts = e.target.files[i].type.split(\"/\");\n var result = parts[0];\n if (result == \"image\") {\n const data = new FormData();\n data.append(\"file\", e.target.files[i]);\n data.append(\"userId\", userId);\n data.append(\"noUpload\", true);\n setProcessing(true);\n axios\n .post(`${apiUploadImage}`, data)\n .then((response) => {\n setProcessing(false);\n let fileUrl = response.data.message\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = imageUrl;\n // console.log(imageUrl)\n setUserImg(imageUrl);\n setToggleImg(!toggleImg)\n handleSubmit(imageUrl)\n })\n .catch((error) => { });\n }\n }\n }\n return (\n
    \n \n
    \n \n
    \n
    \n
    \n

    Account

    \n
      \n
    • \n Profile\n
    • \n
    • \n Change Plan\n
    • \n
    • \n Change password\n
    • \n
    • \n Billing\n
    • \n
    • \n Transactions\n
    • \n
    \n
    \n
    \n
    \n
    \n {toggleImg &&\n setformImage(e, 1)}\n className=\"form-control\"\n placeholder=\"User Img\"\n />\n }\n
    \n {loginType != \"\" ? (\n \"user\"\n ) : profileImage ? (\n \"user\"\n ) : (\n \"user\"\n )}\n {/* {profileImage == \"\" ? (\n \"user\"\n ) : (\n \"user\"\n )} */}\n
    \n
    \n {toggleImg == false ?\n setToggleImg(!toggleImg)}\n >\n Edit Photo\n
    \n :\n
    \n \n Click on Photo\n
    \n
    \n }\n
    \n
    \n
    \n

    {firstName}

    \n
      \n
    • \n Agency name\n \n
    • \n\n
    • \n Email\n \n
    • \n
    • \n Phone Number\n \n
    • \n
    • \n Website\n \n
    • \n
    • \n Agency Logo\n {agencylogo ? (\n \n ) : (\n \n )}\n\n
    • \n
    • \n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n\n \n \n );\n};\nexport default Profile;\n","import React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport Profile from './Profile';\nimport Footer from \"../../Footer\";\nconst ProfilePage = () => {\n return (\n
    \n {/* */}\n \n {/*
    */}\n
    \n );\n};\nexport default ProfilePage;\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport Footer from \"../../Footer\";\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport {\n schemaCpass,\n schemaPassword,\n apiUpdateUser,\n} from \"./../../Utility/Utility\";\nimport Sidebar from \"./Sidebar\";\nimport Top from \"./Top\";\nconst ChangePassword = () => {\n const [password, setPassword] = React.useState(\"\");\n const [userId, setUserId] = React.useState(\"\");\n const [email, setEmail] = React.useState(\"\");\n\n const [newpassword, setNewPassword] = React.useState(\"\");\n const [cpassword, setCPassword] = React.useState(\"\");\n\n const [checkPassword, setcheckPassword] = React.useState(false);\n\n const [checknewPassword, setChecknewPassword] = React.useState(false);\n const [checkcPassword, setcheckCPassword] = React.useState(false);\n const [checkconfirmPassword, setcheckConfirmPassword] = React.useState(false);\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n setUserId(decoded.id);\n\n setEmail(decoded.email);\n }\n }, [email]);\n\n function setpassword(evt) {\n if (evt === \"\") {\n setcheckPassword(true);\n } else {\n setcheckPassword(false);\n }\n setPassword(evt);\n }\n\n function setnewPassword(evt) {\n if (evt === \"\") {\n setChecknewPassword(true);\n } else {\n setChecknewPassword(false);\n }\n setNewPassword(evt);\n }\n function setcpassword(evt) {\n if (evt === \"\") {\n setcheckCPassword(true);\n } else {\n setcheckCPassword(false);\n }\n setCPassword(evt);\n }\n\n /**\n * Submit handler\n * @param event use for prevent the default functionality of the event\n * @returns na\n */\n function handleSubmit(event) {\n event.preventDefault();\n setSuccessMessage(\"\");\n setErrorMessage(\"\");\n\n const resultPass = schemaPassword.validate({ password: newpassword });\n const resultCpass = schemaPassword.validate({ password: cpassword });\n const resultconfirmCpass = schemaCpass.validate({\n password: newpassword,\n confirmpassword: cpassword,\n });\n\n if (password === \"\") {\n setcheckPassword(true);\n return false;\n } else {\n setcheckPassword(false);\n }\n\n if (resultPass.error) {\n setChecknewPassword(true);\n return false;\n }\n console.log(resultconfirmCpass);\n if (resultCpass.error) {\n setcheckCPassword(true);\n return false;\n }\n\n if (resultconfirmCpass.error) {\n setcheckCPassword(true);\n return false;\n }\n\n setLoader(true);\n // API Call\n axios\n .put(apiUpdateUser + userId, {\n email: email,\n password: password,\n newPassword: newpassword,\n })\n .then((response) => {\n // console.log(response);\n setLoader(false);\n if (response.data.message == \"Invalid current password\") {\n setErrorMessage(response.data.message);\n } else {\n setSuccessMessage(response.data.message);\n }\n })\n .catch((error) => {\n console.log(error);\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n }\n return (\n
    \n \n
    \n \n
    \n
    \n
    \n

    Account

    \n
      \n
    • \n Profile\n
    • \n
    • \n Change Plan\n
    • \n
    • \n Change password\n
    • \n
    • \n Billing\n
    • \n
    • \n Transactions\n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n\n setpassword(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Old Password\"\n />\n \n {checkPassword === true ? \"*Enter password\" : \"\"}\n \n
    \n
    \n
    \n
    \n setnewPassword(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"New Password\"\n />\n \n {checknewPassword === true\n ? \"*Enter New password/ Min 9 character long\"\n : \"\"}\n \n
    \n
    \n
    \n
    \n \n setcpassword(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Confirm Password\"\n />\n \n {checkcPassword === true\n ? \"*Confirm password does't match\"\n : \"\"}\n \n
    \n
    \n\n
    \n
    \n \n {loader ? (\n
    \n
    \n \n
    \n ) : null}\n\n {successMessage ? (\n \n {successMessage}\n
    \n ) : null}\n {errorMessage ? (\n \n {errorMessage}\n
    \n ) : null}\n
    \n
    \n \n
    \n
    \n
    \n \n \n \n \n \n );\n};\nexport default ChangePassword;\n","import React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport { Link } from \"react-router-dom\";\nimport Footer from \"../../Footer\";\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\nimport icongreen from \"./../../Assets/images/pricing/checkedgreen.png\";\nimport iconred from \"./../../Assets/images/pricing/checkedred.png\";\nimport iconblack from \"./../../Assets/images/pricing/checkedblack.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Sidebar from \"./Sidebar\";\nimport Top from \"./Top\";\nconst UpgradePlan = () => {\n return (\n
    \n \n
    \n \n
    \n
    \n
    \n

    Account

    \n
      \n
    • \n Profile\n
    • \n
    • \n Change Plan\n
    • \n
    • \n Change password\n
    • \n
    • \n Billing\n
    • \n
    • \n Transactions\n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n

    Professional

    \n
    \n $30/month\n
    \n
    \n or get 3 months free at $270 when billed annually\n
    \n \n
      \n
    • \n \"img1\"\n Individual user\n
    • \n
    • \n \"img1\"\n Unlimited monthly downloads\n
    • \n
    • \n \"img1\"\n Listing templates\n
    • \n
    • \n \"img1\"\n Open House Templates\n
    • \n
    • \n \"img1\"\n 'Sold' Announcement Templates\n
    • \n
    • \n \"img1\"\n Agent profile templates\n
    • \n
    • \n \"img1\"\n Community Profile Templates\n
    • \n
    • \n \"img1\"\n Social media sharing\n
    • \n
    \n \n
    \n
    \n
    \n
    \n

    Team

    \n
    \n $20/month\n
    \n
    \n Each user is $20/month or get 3 months free at $180/user\n when billed annually\n
    \n \n
      \n
    • \n \"img1\"\n Minimum of 3 users, maximum of 10 users\n
    • \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n\n
    \n\n );\n};\nexport default UpgradePlan;\n","/* eslint-disable no-loop-func */\n/* eslint-disable no-undef */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport UserAvatar from \"./../../Assets/images/User/Header/default.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\nimport avatar from \"./../../Assets/images/homeV3/avatar.png\";\nimport phoneicon from \"./../../Assets/images/homeV3/phone.png\";\nimport emailicon from \"./../../Assets/images/homeV3/email.png\";\nimport toplog from \"./../../Assets/images/toplogo.png\";\nimport icon1 from \"./../../Assets/images/icon1.png\";\nimport icon2 from \"./../../Assets/images/icon2.png\";\nimport icon3 from \"./../../Assets/images/icon3.png\";\nimport icon4 from \"./../../Assets/images/icon4.png\";\nimport icon5 from \"./../../Assets/images/icon5.png\";\nimport logout from \"./../../Assets/images/logout.png\";\nimport Loader from \"./../../Utility/Loader/Loader\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport Footer from \"../../Footer\";\nimport Sidebar from \"./Sidebar\";\nimport Top from \"./Top\";\nimport {\n schemaFname,\n apiUpdateUser,\n apiUploadImage,\n apiPath,\n} from \"./../../Utility/Utility\";\nconst EditProfile = () => {\n const [userId, setUserId] = React.useState(\"\");\n const [firstName, setFirstName] = React.useState(\"\");\n const [email, setEmail] = React.useState(\"\");\n const [website, setWebsite] = React.useState(\"\");\n const [agencyname, setAgencyname] = React.useState(\"\");\n const [agencylogo, setAgencylogo] = React.useState(\"\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [phone, setPhone] = React.useState(\"\");\n const [userToken, setUserToken] = React.useState(\"\");\n const [checkFirstname, setCheckFirstname] = React.useState(false);\n const [processing, setProcessing] = React.useState(false);\n const [userImg, setUserImg] = React.useState(\"\");\n const [loginType, setLoginType] = React.useState(\"\");\n function setfirstName(evt) {\n if (evt === \"\") {\n setCheckFirstname(true);\n } else {\n setCheckFirstname(false);\n }\n setFirstName(evt);\n }\n const cookies = new Cookies();\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n setUserId(decoded.id);\n setEmail(decoded.email);\n setFirstName(decoded.firstName);\n setPhone(decoded.phone);\n if (decoded.website) {\n setWebsite(decoded.website);\n }\n if (decoded.agencyname) {\n setAgencyname(decoded.agencyname);\n }\n if (decoded.agencylogo) {\n setAgencylogo(decoded.agencylogo);\n }\n if (decoded.profileImage) {\n setUserImg(decoded.profileImage);\n }\n if (decoded.loginType) {\n setLoginType(decoded.loginType);\n }\n }\n }, [email]);\n /**\n * Submit handler\n * @param event use for prevent the default functionality of the event\n * @returns na\n */\n function handleSubmit(event) {\n event.preventDefault();\n setSuccessMessage(\"\");\n setErrorMessage(\"\");\n const resultFname = schemaFname.validate({ firstname: firstName });\n\n if (resultFname.error) {\n setCheckFirstname(true);\n return false;\n }\n setProcessing(true);\n // API Call\n axios\n .put(apiUpdateUser + userId, {\n firstName: firstName,\n phone: phone,\n agencyname: agencyname,\n agencylogo: agencylogo,\n id: userId,\n website: website,\n profileImage: userImg,\n })\n .then((response) => {\n setSuccessMessage(response.data.message);\n const cookies = new Cookies();\n\n const tokens = localStorage.setItem('token', response.data.token);\n cookies.set(\"token\", response.data.token, { path: \"/\" });\n cookies.set(\"userRole\", response.data.userRole, { path: \"/\" });\n setProcessing(false);\n setTimeout(function () {\n window.location.reload();\n }, 2000);\n })\n .catch((error) => {\n console.log(error);\n setErrorMessage(error.response.data.message);\n setProcessing(false);\n });\n }\n function setformImage(e, img) {\n console.log(e.target.files.length);\n for (var i = 0; i < e.target.files.length; i++) {\n var parts = e.target.files[i].type.split(\"/\");\n var result = parts[0];\n if (result == \"image\") {\n const data = new FormData();\n data.append(\"file\", e.target.files[i]);\n data.append(\"userId\", userId);\n data.append(\"noUpload\", true);\n setProcessing(true);\n axios\n .post(`${apiUploadImage}`, data)\n .then((response) => {\n setProcessing(false);\n let fileUrl = response.data.message\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = imageUrl;\n if (img === 0) {\n setAgencylogo(imageUrl);\n } else {\n setUserImg(imageUrl);\n }\n })\n .catch((error) => { });\n }\n }\n }\n return (\n
    \n {/* */}\n\n \n
    \n \n \n
    \n
    \n
    \n

    Account

    \n
      \n
    • \n Profile\n
    • \n
    • \n Change Plan\n
    • \n
    • \n Change password\n
    • \n
    • \n Billing\n
    • \n
    • \n Transactions\n
    • \n
    \n
    \n
    \n
    \n
    \n setformImage(e, 1)}\n className=\"form-control\"\n placeholder=\"User Img\"\n />\n
    \n Click to update\n
    \n
    \n {loginType != \"\" ? (\n \"user\"\n ) : userImg ? (\n \"user\"\n ) : (\n \"user\"\n )}\n {/* {userImg == \"\" ? (\n \"user\"\n ) : (\n \"user\"\n )} */}\n
    \n\n
    \n
    \n
    \n
    \n
    \n\n {/* \"Name\" */}\n setfirstName(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Name\"\n />\n \n {checkFirstname === true ? \"*Enter First name\" : \"\"}\n \n
    \n
    \n
    \n
    \n {/* \n \"Agency */}\n setAgencyname(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter Agency name\"\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} */}\n \n
    \n
    \n\n
    \n
    \n {/* \n \"email\" */}\n setpassword(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Email\"\n readOnly\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} */}\n \n
    \n
    \n
    \n
    \n {/* \n \"email\" */}\n setPhone(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter Phone Number\"\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} */}\n \n
    \n
    \n
    \n
    \n {/* \n \"email\" */}\n setWebsite(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter Website\"\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} */}\n \n
    \n
    \n
    \n {agencylogo ? (\n \n ) : null}\n
    \n {/* \n \"email\" */}\n setformImage(e, 0)}\n className=\"form-control\"\n placeholder=\"Agency Logo\"\n style={{ height: \"90px\", paddingTop: \"43px\" }}\n />\n
    \n
    \n
    \n
    \n \n
    \n
    \n {successMessage ? (\n \n {successMessage}\n
    \n ) : null}\n {errorMessage ? (\n \n {errorMessage}\n
    \n ) : null}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n {/* */}\n {/* \n \"triangle\"\n */}\n {/* \"triangle\"\n \"triangle\"\n \"triangle\" */}\n \n {/*
    */}\n \n );\n};\nexport default EditProfile;\n","/* eslint-disable no-loop-func */\n/* eslint-disable no-undef */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport axios from \"axios\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport UserAvatar from \"./../../Assets/images/User/Header/default.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\nimport avatar from \"./../../Assets/images/homeV3/avatar.png\";\nimport phoneicon from \"./../../Assets/images/homeV3/phone.png\";\nimport emailicon from \"./../../Assets/images/homeV3/email.png\";\nimport Loader from \"./../../Utility/Loader/Loader\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport Footer from \"../../Footer\";\nimport {\n schemaFname,\n apiUpdateUser,\n apiUploadImage,\n apiPath,\n} from \"./../../Utility/Utility\";\nimport Sidebar from \"./Sidebar\";\nimport Top from \"./Top\";\nconst shipping = () => {\n const [userId, setUserId] = React.useState(\"\");\n const [billing_address_1, setBilling_address_1] = React.useState(\"\");\n const [billing_address_2, setBilling_address_2] = React.useState(\"\");\n const [billing_state, setbilling_state] = React.useState(\"\");\n const [billing_city, setbilling_city] = React.useState(\"\");\n const [billing_zip, setbilling_zip] = React.useState(\"\");\n const [billing_country, setbilling_country] = React.useState(\"\");\n\n const [shipping_address_1, setshipping_address_1] = React.useState(\"\");\n const [shipping_address_2, setshipping_address_2] = React.useState(\"\");\n const [shipping_city, setshipping_city] = React.useState(\"\");\n const [shipping_state, setshipping_state] = React.useState(\"\");\n const [shipping_zip, setshipping_zip] = React.useState(\"\");\n const [shipping_country, setShipping_country] = React.useState(\"\");\n const [userToken, setUserToken] = React.useState(\"\");\n const [processing, setProcessing] = React.useState(false);\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [userImg, setUserImg] = React.useState(\"\");\n const [loginType, setLoginType] = React.useState(\"\");\n function setfirstName(evt) {\n if (evt === \"\") {\n setCheckFirstname(true);\n } else {\n setCheckFirstname(false);\n }\n setFirstName(evt);\n }\n const cookies = new Cookies();\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n setUserId(decoded.id);\n setBilling_address_1(decoded.billing_address_1);\n setBilling_address_2(decoded.billing_address_2);\n setbilling_state(decoded.billing_state);\n if (decoded.billing_zip) {\n setbilling_zip(decoded.billing_zip);\n }\n if (decoded.billing_country) {\n setbilling_country(decoded.billing_country);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n\n if (decoded.shipping_address_1) {\n setshipping_address_1(decoded.shipping_address_1);\n }\n if (decoded.shipping_address_2) {\n setshipping_address_2(decoded.shipping_address_2);\n }\n if (decoded.shipping_city) {\n setshipping_city(decoded.shipping_city);\n }\n if (decoded.shipping_state) {\n setshipping_state(decoded.shipping_state);\n }\n if (decoded.shipping_zip) {\n setshipping_zip(decoded.shipping_zip);\n }\n if (decoded.shipping_country) {\n setShipping_country(decoded.shipping_country);\n }\n if (decoded.profileImage) {\n setUserImg(decoded.profileImage);\n }\n if (decoded.loginType) {\n setLoginType(decoded.loginType);\n }\n }\n }, [userId]);\n /**\n * Submit handler\n * @param event use for prevent the default functionality of the event\n * @returns na\n */\n function handleSubmit(event) {\n event.preventDefault();\n setSuccessMessage(\"\");\n setErrorMessage(\"\");\n\n setProcessing(true);\n // API Call\n axios\n .put(apiUpdateUser + userId, {\n id: userId,\n billing_address_1: billing_address_1,\n billing_address_2: billing_address_2,\n billing_state: billing_state,\n billing_zip: billing_zip,\n billing_city: billing_city,\n billing_country: billing_country,\n shipping_address_1: shipping_address_1,\n shipping_address_2: shipping_address_2,\n shipping_city: shipping_city,\n shipping_state: shipping_state,\n shipping_zip: shipping_zip,\n shipping_country: shipping_country,\n })\n .then((response) => {\n setSuccessMessage(response.data.message);\n const cookies = new Cookies();\n cookies.set(\"token\", response.data.token, { path: \"/\" });\n cookies.set(\"userRole\", response.data.userRole, { path: \"/\" });\n setProcessing(false);\n setTimeout(function () {\n window.location.reload();\n }, 2000);\n })\n .catch((error) => {\n console.log(error);\n setErrorMessage(error.response.data.message);\n setProcessing(false);\n });\n }\n function setformImage(e, img) {\n console.log(e.target.files.length);\n for (var i = 0; i < e.target.files.length; i++) {\n var parts = e.target.files[i].type.split(\"/\");\n var result = parts[0];\n if (result == \"image\") {\n const data = new FormData();\n data.append(\"file\", e.target.files[i]);\n data.append(\"userId\", userId);\n data.append(\"noUpload\", true);\n setProcessing(true);\n axios\n .post(`${apiUploadImage}`, data)\n .then((response) => {\n setProcessing(false);\n let fileUrl = response.data.message\n .replace(/\\\\/g, \"/\")\n .substring(\"public\".length);\n let imageUrl = fileUrl.replace(\"sets/\", \"\");\n let updatedImage = imageUrl;\n if (img === 0) {\n setAgencylogo(imageUrl);\n } else {\n setUserImg(imageUrl);\n }\n })\n .catch((error) => { });\n }\n }\n }\n return (\n
    \n \n
    \n \n \n
    \n
    \n
    \n

    Account

    \n
      \n
    • \n Profile\n
    • \n
    • \n Change Plan\n
    • \n
    • \n Change password\n
    • \n
    • \n Billing\n
    • \n
    • \n Transactions\n
    • \n
    \n
    \n
    \n
    \n
    \n\n
    \n {loginType != \"\" ? (\n \"user\"\n ) : userImg ? (\n \"user\"\n ) : (\n \"user\"\n )}\n {/* {userImg == \"\" ? (\n \"user\"\n ) : (\n \"user\"\n )} */}\n
    \n
    \n
    \n
    \n
    \n
    \n setBilling_address_1(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Billing address1\"\n />\n\n
    \n
    \n
    \n
    \n \n setBilling_address_2(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter Billing address2\"\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} */}\n \n
    \n
    \n
    \n
    \n\n setbilling_city(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter City\"\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} */}\n \n
    \n
    \n
    \n
    \n setbilling_state(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter State\"\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} */}\n \n
    \n
    \n
    \n
    \n setbilling_zip(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter Billing Zip\"\n />\n
    \n
    \n
    \n
    \n\n setbilling_country(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Billing Country\"\n />\n\n
    \n
    \n\n\n\n\n {/*
    \n
    \n \n \"Name\"\n setshipping_address_1(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Shipping address1\"\n />\n\n
    \n
    \n
    \n
    \n \n \"Name\"\n setshipping_address_2(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter Shipping address2\"\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} \n \n
    \n
    \n\n
    \n
    \n \n \"Name\"\n setshipping_state(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter Shipping State\"\n />\n \n {/* {checkPassword === true ? \"*Enter password\" : \"\"} \n \n
    \n
    \n
    \n
    \n \n \"email\"\n setshipping_zip(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Enter Shipping Zip\"\n />\n
    \n
    \n
    \n
    \n \n \"email\"\n setshipping_country(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Shipping Country\"\n />\n\n
    \n
    */}\n
    \n
    \n \n
    \n
    \n {successMessage ? (\n \n {successMessage}\n
    \n ) : null}\n {errorMessage ? (\n \n {errorMessage}\n
    \n ) : null}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n\n \n );\n};\nexport default shipping;\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport Footer from \"../../Footer\";\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport { Table } from \"reactstrap\";\nimport { apiGetUseripn } from \"../../Utility/Utility\";\nimport moment from \"moment\";\nimport Sidebar from \"./Sidebar\";\nimport Top from \"./Top\";\nconst Billings = () => {\n const [userId, setUserId] = React.useState(\"\");\n const [data, setData] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const [processing, setProcessing] = React.useState(true);\n React.useEffect(() => {\n // if (cookies.get(\"token\")) {\n // setUserToken(cookies.get(\"token\"));\n // const token = cookies.get(\"token\");\n // const decoded = jwt_decode(token);\n // // console.log(decoded.id)\n // setUserId(decoded.id);\n // }\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n setUserId(decoded.id);\n\n }\n if (userId) {\n axios\n .get(`${apiGetUseripn}?userId=${userId}`, {})\n .then(function (response) {\n setProcessing(false);\n console.log(response.data.data);\n setData(response.data.data);\n });\n }\n }, [userId]);\n return (\n
    \n \n
    \n \n
    \n
    \n
    \n

    Account

    \n
      \n
    • \n Profile\n
    • \n
    • \n Change Plan\n
    • \n
    • \n Change password\n
    • \n
    • \n Billing\n
    • \n
    • \n Transactions\n
    • \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n {data.length > 0\n ? data.map((template, index) => {\n return (\n \n \n \n \n \n \n \n \n );\n })\n : null}\n \n
    #PlanNameEmailPriceDate
    {index + 1}{template.product_name}{template.buyer_first_name + ' ' + template.buyer_last_name}{template.buyer_email}${template.amount}{moment(template.createdAt).format(\"ddd, MM Do YYYY\")}
    \n
    \n
    \n
    \n
    \n
    \n );\n};\nexport default Billings;\n","/* eslint-disable jsx-a11y/iframe-has-title */\n/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../../Header/HeaderUser\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport Footer from \"../../../Footer\";\nimport passicon from \"./../../../Assets/images/homeV3/lock.png\";\nimport SideShape3 from \"./../../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../../Assets/images/homeV3/Circle1.png\";\nimport emailicon from \"./../../../Assets/images/homeV3/loupe.png\";\nimport UserAvatar from \"./../../../Assets/images/User/Header/default.png\";\nimport Loader from \"../../../Utility/Loader/Loader\";\nimport ReactDOM from \"react-dom\";\nimport { apiAddipn } from \"../../../Utility/Utility\";\nimport { useHistory } from \"react-router-dom\";\nimport {\n PayPalScriptProvider,\n PayPalButtons,\n usePayPalScriptReducer\n} from \"@paypal/react-paypal-js\";\nconst ProductMonthly = (props) => {\n let history = useHistory();\n const [modal, setModal] = React.useState(false);\n const toggle = () => setModal(!modal);\n const [userId, setUserId] = React.useState(\"\");\n const [userFirstName, setUserFirstName] = React.useState(\"\");\n const [userLastName, setUserLastName] = React.useState(\"\");\n const [userEmail, setUserEmail] = React.useState(\"\");\n const [userPhone, setUserPhone] = React.useState(\"\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [errorMessage2, setErrorMessage2] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [billing_address_1, setBilling_address_1] = React.useState(\"\");\n const [billing_address_2, setBilling_address_2] = React.useState(\"\");\n const [billing_state, setbilling_state] = React.useState(\"\");\n const [billing_city, setbilling_city] = React.useState(\"\");\n const [billing_zip, setbilling_zip] = React.useState(\"\");\n const [billing_country, setbilling_country] = React.useState(\"\");\n\n const [shipping_address_1, setshipping_address_1] = React.useState(\"\");\n const [shipping_address_2, setshipping_address_2] = React.useState(\"\");\n const [shipping_city, setshipping_city] = React.useState(\"\");\n const [shipping_state, setshipping_state] = React.useState(\"\");\n const [shipping_zip, setshipping_zip] = React.useState(\"\");\n const [shipping_country, setShipping_country] = React.useState(\"\");\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const { buttonLabel, className } = props;\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n console.log(decoded);\n setUserId(decoded._id);\n const contentParts = decoded.firstName.split(\" \");\n //console.log(contentParts);\n setUserPhone(decoded.phone);\n setUserFirstName(contentParts[0]);\n setUserLastName(contentParts[1]);\n\n if (decoded.billing_address_1) {\n setBilling_address_1(decoded.billing_address_1);\n }\n if (decoded.billing_address_2) {\n setBilling_address_2(decoded.billing_address_2);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n if (decoded.billing_zip) {\n setbilling_zip(decoded.billing_zip);\n }\n if (decoded.billing_country) {\n setbilling_country(decoded.billing_country);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n\n if (decoded.shipping_address_1) {\n setshipping_address_1(decoded.shipping_address_1);\n }\n if (decoded.shipping_address_2) {\n setshipping_address_2(decoded.shipping_address_2);\n }\n if (decoded.shipping_city) {\n setshipping_city(decoded.shipping_city);\n }\n if (decoded.shipping_state) {\n setshipping_state(decoded.shipping_state);\n }\n if (decoded.shipping_zip) {\n setshipping_zip(decoded.shipping_zip);\n }\n if (decoded.shipping_country) {\n setShipping_country(decoded.shipping_country);\n }\n\n setUserEmail(decoded.email);\n }\n }, [userId]);\n const style = { \"layout\": \"vertical\" };\n\n\n const createOrder = (data, actions) => {\n return actions.subscription\n .create({\n plan_id: \"P-1G440501GA013033KMVULJSA\",\n });\n };\n\n function onApprove(data) {\n console.log(data)\n\n axios\n .post(apiAddipn, {\n transaction_id: data.orderID,\n tracking_id: data.subscriptionID,\n payment_processor: data.paymentSource,\n userId: userId,\n buyer_first_name: userFirstName,\n buyer_last_name: userLastName,\n product_id: '30167',\n product_name: \"Reveo Professional - Monthly\",\n buyer_email: userEmail,\n amount: \"15\",\n billing_address_1: billing_address_1,\n billing_address_2: billing_address_2,\n billing_state: billing_state,\n billing_zip: billing_zip,\n billing_country: billing_country,\n selectedplan: \"2\"\n })\n .then((orderData) => {\n console.log('orderData')\n console.log(orderData)\n history.push(\"/thankyou\");\n // Your code here after capture the order\n });\n }\n const initialOptions = {\n clientId: \"test\",\n currency: \"USD\",\n intent: \"capture\",\n };\n\n // Custom component to wrap the PayPalButtons and show loading spinner\n const ButtonWrapper = ({ showSpinner }) => {\n const [{ isPending }] = usePayPalScriptReducer();\n\n return (\n <>\n {(showSpinner && isPending) &&
    }\n \n \n );\n }\n\n return (\n
    \n \n \n
    \n
    \n
    \n
    \n

    Reveo Professional - Monthly

    \n \n \n
    \n
    \n \n \n \n\n
    \n
    \n
    \n \n \n \"triangle\"\n \n \"triangle\"\n \"triangle\"\n \"triangle\"\n
    \n
    \n
    \n );\n};\nexport default ProductMonthly;\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../../Header/HeaderUser\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport Footer from \"../../../Footer\";\nimport passicon from \"./../../../Assets/images/homeV3/lock.png\";\nimport SideShape3 from \"./../../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../../Assets/images/homeV3/Circle1.png\";\nimport emailicon from \"./../../../Assets/images/homeV3/loupe.png\";\nimport UserAvatar from \"./../../../Assets/images/User/Header/default.png\";\nimport Loader from \"../../../Utility/Loader/Loader\";\nimport ReactDOM from \"react-dom\";\nimport {\n apiPath,\n apigetTeamMember,\n apiaddTeamMember,\n apideleteTeamMember,\n apiSearchTeamMember,\n schema,\n apiInviteteamMember,\n} from \"../../../Utility/Utility\";\nimport { useHistory } from \"react-router-dom\";\nimport { apiAddipn } from \"../../../Utility/Utility\";\nimport {\n PayPalScriptProvider,\n PayPalButtons,\n usePayPalScriptReducer\n} from \"@paypal/react-paypal-js\";\nconst TeamMonthly = (props) => {\n let history = useHistory();\n const [modal, setModal] = React.useState(false);\n const toggle = () => setModal(!modal);\n const [userId, setUserId] = React.useState(\"\");\n const [userFirstName, setUserFirstName] = React.useState(\"\");\n const [userLastName, setUserLastName] = React.useState(\"\");\n const [userEmail, setUserEmail] = React.useState(\"\");\n const [userPhone, setUserPhone] = React.useState(\"\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [errorMessage2, setErrorMessage2] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [billing_address_1, setBilling_address_1] = React.useState(\"\");\n const [billing_address_2, setBilling_address_2] = React.useState(\"\");\n const [billing_state, setbilling_state] = React.useState(\"\");\n const [billing_city, setbilling_city] = React.useState(\"\");\n const [billing_zip, setbilling_zip] = React.useState(\"\");\n const [billing_country, setbilling_country] = React.useState(\"\");\n\n const [shipping_address_1, setshipping_address_1] = React.useState(\"\");\n const [shipping_address_2, setshipping_address_2] = React.useState(\"\");\n const [shipping_city, setshipping_city] = React.useState(\"\");\n const [shipping_state, setshipping_state] = React.useState(\"\");\n const [shipping_zip, setshipping_zip] = React.useState(\"\");\n const [shipping_country, setShipping_country] = React.useState(\"\");\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const { buttonLabel, className } = props;\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n console.log(decoded);\n setUserId(decoded._id);\n const contentParts = decoded.firstName.split(\" \");\n //console.log(contentParts);\n setUserPhone(decoded.phone);\n setUserFirstName(contentParts[0]);\n setUserLastName(contentParts[1]);\n\n if (decoded.billing_address_1) {\n setBilling_address_1(decoded.billing_address_1);\n }\n if (decoded.billing_address_2) {\n setBilling_address_2(decoded.billing_address_2);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n if (decoded.billing_zip) {\n setbilling_zip(decoded.billing_zip);\n }\n if (decoded.billing_country) {\n setbilling_country(decoded.billing_country);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n\n if (decoded.shipping_address_1) {\n setshipping_address_1(decoded.shipping_address_1);\n }\n if (decoded.shipping_address_2) {\n setshipping_address_2(decoded.shipping_address_2);\n }\n if (decoded.shipping_city) {\n setshipping_city(decoded.shipping_city);\n }\n if (decoded.shipping_state) {\n setshipping_state(decoded.shipping_state);\n }\n if (decoded.shipping_zip) {\n setshipping_zip(decoded.shipping_zip);\n }\n if (decoded.shipping_country) {\n setShipping_country(decoded.shipping_country);\n }\n\n setUserEmail(decoded.email);\n }\n }, [userId]);\n const style = { \"layout\": \"vertical\" };\n\n\n const createOrder = (data, actions) => {\n return actions.subscription\n .create({\n plan_id: \"P-9V263409M6294922PMVULMDQ\",\n });\n };\n\n function onApprove(data) {\n console.log(data)\n\n axios\n .post(apiAddipn, {\n transaction_id: data.orderID,\n tracking_id: data.subscriptionID,\n payment_processor: data.paymentSource,\n userId: userId,\n buyer_first_name: userFirstName,\n buyer_last_name: userLastName,\n product_id: '30167',\n product_name: \"Reveo Professional - Team Monthly\",\n buyer_email: userEmail,\n amount: \"30\",\n billing_address_1: billing_address_1,\n billing_address_2: billing_address_2,\n billing_state: billing_state,\n billing_zip: billing_zip,\n billing_country: billing_country,\n selectedplan: \"2\"\n })\n .then((orderData) => {\n console.log('orderData')\n console.log(orderData)\n history.push(\"/thankyou\");\n // Your code here after capture the order\n });\n }\n const initialOptions = {\n clientId: \"test\",\n currency: \"USD\",\n intent: \"capture\",\n };\n\n // Custom component to wrap the PayPalButtons and show loading spinner\n const ButtonWrapper = ({ showSpinner }) => {\n const [{ isPending }] = usePayPalScriptReducer();\n\n return (\n <>\n {(showSpinner && isPending) &&
    }\n \n \n );\n }\n\n return (\n
    \n \n \n
    \n
    \n
    \n
    \n

    Reveo Team - Monthly

    \n
    \n
    \n \n \n
    \n\n
    \n

    \n Or\n

    \n

    You can pay using paypal and credit card

    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \"triangle\"\n \n \"triangle\"\n \"triangle\"\n \"triangle\"\n
    \n
    \n
    \n );\n};\nexport default TeamMonthly;\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../../Header/HeaderUser\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport Footer from \"../../../Footer\";\nimport passicon from \"./../../../Assets/images/homeV3/lock.png\";\nimport SideShape3 from \"./../../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../../Assets/images/homeV3/Circle1.png\";\nimport emailicon from \"./../../../Assets/images/homeV3/loupe.png\";\nimport UserAvatar from \"./../../../Assets/images/User/Header/default.png\";\nimport Loader from \"../../../Utility/Loader/Loader\";\nimport ReactDOM from \"react-dom\";\nimport {\n apiPath,\n apigetTeamMember,\n apiaddTeamMember,\n apideleteTeamMember,\n apiSearchTeamMember,\n schema,\n apiInviteteamMember,\n} from \"../../../Utility/Utility\";\nimport { useHistory } from \"react-router-dom\";\nimport { apiAddipn } from \"../../../Utility/Utility\";\nimport {\n PayPalScriptProvider,\n PayPalButtons,\n usePayPalScriptReducer\n} from \"@paypal/react-paypal-js\";\nconst TeamAnnual = (props) => {\n let history = useHistory();\n const [modal, setModal] = React.useState(false);\n const toggle = () => setModal(!modal);\n const [userId, setUserId] = React.useState(\"\");\n const [userFirstName, setUserFirstName] = React.useState(\"\");\n const [userLastName, setUserLastName] = React.useState(\"\");\n const [userEmail, setUserEmail] = React.useState(\"\");\n const [userPhone, setUserPhone] = React.useState(\"\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [errorMessage2, setErrorMessage2] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [billing_address_1, setBilling_address_1] = React.useState(\"\");\n const [billing_address_2, setBilling_address_2] = React.useState(\"\");\n const [billing_state, setbilling_state] = React.useState(\"\");\n const [billing_city, setbilling_city] = React.useState(\"\");\n const [billing_zip, setbilling_zip] = React.useState(\"\");\n const [billing_country, setbilling_country] = React.useState(\"\");\n\n const [shipping_address_1, setshipping_address_1] = React.useState(\"\");\n const [shipping_address_2, setshipping_address_2] = React.useState(\"\");\n const [shipping_city, setshipping_city] = React.useState(\"\");\n const [shipping_state, setshipping_state] = React.useState(\"\");\n const [shipping_zip, setshipping_zip] = React.useState(\"\");\n const [shipping_country, setShipping_country] = React.useState(\"\");\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const { buttonLabel, className } = props;\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n console.log(decoded);\n setUserId(decoded._id);\n const contentParts = decoded.firstName.split(\" \");\n //console.log(contentParts);\n setUserPhone(decoded.phone);\n setUserFirstName(contentParts[0]);\n setUserLastName(contentParts[1]);\n\n if (decoded.billing_address_1) {\n setBilling_address_1(decoded.billing_address_1);\n }\n if (decoded.billing_address_2) {\n setBilling_address_2(decoded.billing_address_2);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n if (decoded.billing_zip) {\n setbilling_zip(decoded.billing_zip);\n }\n if (decoded.billing_country) {\n setbilling_country(decoded.billing_country);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n\n if (decoded.shipping_address_1) {\n setshipping_address_1(decoded.shipping_address_1);\n }\n if (decoded.shipping_address_2) {\n setshipping_address_2(decoded.shipping_address_2);\n }\n if (decoded.shipping_city) {\n setshipping_city(decoded.shipping_city);\n }\n if (decoded.shipping_state) {\n setshipping_state(decoded.shipping_state);\n }\n if (decoded.shipping_zip) {\n setshipping_zip(decoded.shipping_zip);\n }\n if (decoded.shipping_country) {\n setShipping_country(decoded.shipping_country);\n }\n\n setUserEmail(decoded.email);\n }\n }, [userId]);\n const style = { \"layout\": \"vertical\" };\n\n\n const createOrder = (data, actions) => {\n return actions.subscription\n .create({\n plan_id: \"P-25J440729S166912SMVULMZY\",\n });\n };\n\n function onApprove(data) {\n console.log(data)\n\n axios\n .post(apiAddipn, {\n transaction_id: data.orderID,\n tracking_id: data.subscriptionID,\n payment_processor: data.paymentSource,\n userId: userId,\n buyer_first_name: userFirstName,\n buyer_last_name: userLastName,\n product_id: '30167',\n product_name: \"Reveo Professional - Team Annual\",\n buyer_email: userEmail,\n amount: \"300\",\n billing_address_1: billing_address_1,\n billing_address_2: billing_address_2,\n billing_state: billing_state,\n billing_zip: billing_zip,\n billing_country: billing_country,\n selectedplan: \"2\"\n })\n .then((orderData) => {\n console.log('orderData')\n console.log(orderData)\n history.push(\"/thankyou\");\n // Your code here after capture the order\n });\n }\n const initialOptions = {\n clientId: \"test\",\n currency: \"USD\",\n intent: \"capture\",\n };\n\n // Custom component to wrap the PayPalButtons and show loading spinner\n const ButtonWrapper = ({ showSpinner }) => {\n const [{ isPending }] = usePayPalScriptReducer();\n\n return (\n <>\n {(showSpinner && isPending) &&
    }\n \n \n );\n }\n\n return (\n
    \n \n \n
    \n
    \n
    \n
    \n

    Reveo Team - Annual

    \n
    \n
    \n \n \n
    \n\n
    \n

    \n Or\n

    \n

    You can pay using paypal and credit card

    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \"triangle\"\n \n \"triangle\"\n \"triangle\"\n \"triangle\"\n
    \n
    \n
    \n );\n};\nexport default TeamAnnual;\n","/* eslint-disable jsx-a11y/iframe-has-title */\n/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../../Header/HeaderUser\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport Footer from \"../../../Footer\";\nimport passicon from \"./../../../Assets/images/homeV3/lock.png\";\nimport SideShape3 from \"./../../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../../Assets/images/homeV3/Circle1.png\";\nimport emailicon from \"./../../../Assets/images/homeV3/loupe.png\";\nimport UserAvatar from \"./../../../Assets/images/User/Header/default.png\";\nimport Loader from \"../../../Utility/Loader/Loader\";\nimport ReactDOM from \"react-dom\";\nimport { apiAddipn } from \"../../../Utility/Utility\";\nimport { useHistory } from \"react-router-dom\";\nimport {\n PayPalScriptProvider,\n PayPalButtons,\n usePayPalScriptReducer\n} from \"@paypal/react-paypal-js\";\n\nconst ProfessionalAnnual = (props) => {\n let history = useHistory();\n const [modal, setModal] = React.useState(false);\n const toggle = () => setModal(!modal);\n const [userId, setUserId] = React.useState(\"\");\n const [userFirstName, setUserFirstName] = React.useState(\"\");\n const [userLastName, setUserLastName] = React.useState(\"\");\n const [userEmail, setUserEmail] = React.useState(\"\");\n const [userPhone, setUserPhone] = React.useState(\"\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [errorMessage2, setErrorMessage2] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [billing_address_1, setBilling_address_1] = React.useState(\"\");\n const [billing_address_2, setBilling_address_2] = React.useState(\"\");\n const [billing_state, setbilling_state] = React.useState(\"\");\n const [billing_city, setbilling_city] = React.useState(\"\");\n const [billing_zip, setbilling_zip] = React.useState(\"\");\n const [billing_country, setbilling_country] = React.useState(\"\");\n\n const [shipping_address_1, setshipping_address_1] = React.useState(\"\");\n const [shipping_address_2, setshipping_address_2] = React.useState(\"\");\n const [shipping_city, setshipping_city] = React.useState(\"\");\n const [shipping_state, setshipping_state] = React.useState(\"\");\n const [shipping_zip, setshipping_zip] = React.useState(\"\");\n const [shipping_country, setShipping_country] = React.useState(\"\");\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n const { buttonLabel, className } = props;\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n console.log(decoded);\n setUserId(decoded._id);\n const contentParts = decoded.firstName.split(\" \");\n //console.log(contentParts);\n setUserPhone(decoded.phone);\n setUserFirstName(contentParts[0]);\n setUserLastName(contentParts[1]);\n\n if (decoded.billing_address_1) {\n setBilling_address_1(decoded.billing_address_1);\n }\n if (decoded.billing_address_2) {\n setBilling_address_2(decoded.billing_address_2);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n if (decoded.billing_zip) {\n setbilling_zip(decoded.billing_zip);\n }\n if (decoded.billing_country) {\n setbilling_country(decoded.billing_country);\n }\n if (decoded.billing_city) {\n setbilling_city(decoded.billing_city);\n }\n\n if (decoded.shipping_address_1) {\n setshipping_address_1(decoded.shipping_address_1);\n }\n if (decoded.shipping_address_2) {\n setshipping_address_2(decoded.shipping_address_2);\n }\n if (decoded.shipping_city) {\n setshipping_city(decoded.shipping_city);\n }\n if (decoded.shipping_state) {\n setshipping_state(decoded.shipping_state);\n }\n if (decoded.shipping_zip) {\n setshipping_zip(decoded.shipping_zip);\n }\n if (decoded.shipping_country) {\n setShipping_country(decoded.shipping_country);\n }\n\n setUserEmail(decoded.email);\n }\n }, [userId]);\n const style = { \"layout\": \"vertical\" };\n\n\n const createOrder = (data, actions) => {\n return actions.subscription\n .create({\n plan_id: \"P-9BJ67415DW978781XMVULKMA\",\n });\n };\n\n function onApprove(data) {\n console.log(data)\n\n axios\n .post(apiAddipn, {\n transaction_id: data.orderID,\n tracking_id: data.subscriptionID,\n payment_processor: data.paymentSource,\n userId: userId,\n buyer_first_name: userFirstName,\n buyer_last_name: userLastName,\n product_id: '59655',\n product_name: \"Reveo Professional- Annual\",\n buyer_email: userEmail,\n amount: \"120\",\n billing_address_1: billing_address_1,\n billing_address_2: billing_address_2,\n billing_state: billing_state,\n billing_zip: billing_zip,\n billing_country: billing_country,\n selectedplan: \"3\"\n })\n .then((orderData) => {\n console.log('orderData')\n console.log(orderData)\n history.push(\"/thankyou\");\n // Your code here after capture the order\n });\n }\n const initialOptions = {\n clientId: \"test\",\n currency: \"USD\",\n intent: \"capture\",\n };\n\n // Custom component to wrap the PayPalButtons and show loading spinner\n const ButtonWrapper = ({ showSpinner }) => {\n const [{ isPending }] = usePayPalScriptReducer();\n\n return (\n <>\n {(showSpinner && isPending) &&
    }\n \n \n );\n }\n\n\n return (\n
    \n \n \n
    \n
    \n
    \n
    \n

    Reveo Professional- Annual

    \n \n \n
    \n
    \n \n \n \n\n
    \n
    \n
    \n \n \n \"triangle\"\n \n \"triangle\"\n \"triangle\"\n \"triangle\"\n
    \n
    \n
    \n );\n};\nexport default ProfessionalAnnual;\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../../Header/HeaderUser\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport Footer from \"../../../Footer\";\nimport passicon from \"./../../../Assets/images/homeV3/lock.png\";\nimport SideShape3 from \"./../../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../../Assets/images/homeV3/Circle1.png\";\nimport emailicon from \"./../../../Assets/images/homeV3/loupe.png\";\nimport UserAvatar from \"./../../../Assets/images/User/Header/default.png\";\nimport Loader from \"../../../Utility/Loader/Loader\";\nimport ReactDOM from \"react-dom\";\nimport {\n apiPath,\n apigetTeamMember,\n apiaddTeamMember,\n apideleteTeamMember,\n apiSearchTeamMember,\n schema,\n apiInviteteamMember,\n} from \"../../../Utility/Utility\";\n\nconst FreePlan = (props) => {\n const [modal, setModal] = React.useState(false);\n const toggle = () => setModal(!modal);\n const [userId, setUserId] = React.useState(\"\");\n const [userFirstName, setUserFirstName] = React.useState(\"\");\n const [userLastName, setUserLastName] = React.useState(\"\");\n const [userEmail, setUserEmail] = React.useState(\"\");\n const [userPhone, setUserPhone] = React.useState(\"\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [errorMessage2, setErrorMessage2] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [userToken, setUserToken] = React.useState(\"\");\n const cookies = new Cookies();\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n console.log(decoded);\n setUserId(decoded._id);\n const contentParts = decoded.firstName.split(\" \");\n console.log(contentParts);\n setUserPhone(decoded.phone);\n setUserFirstName(contentParts[0]);\n setUserLastName(contentParts[1]);\n setUserEmail(decoded.email);\n }\n }, [userId]);\n\n return (\n
    \n \n \n
    \n
    \n
    \n
    \n

    Reveo Free - Plan

    \n \n \n
    \n
    \n
    \n \n \n \"triangle\"\n \n \"triangle\"\n \"triangle\"\n \"triangle\"\n
    \n
    \n
    \n );\n};\nexport default FreePlan;\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React from \"react\";\nimport axios from \"axios\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport jwt_decode from \"jwt-decode\";\nimport Cookies from \"universal-cookie\";\nimport SiteHeader from \"../../Header/HeaderUser\";\nimport { Redirect, Link } from \"react-router-dom\";\nimport Footer from \"../../Footer\";\nimport passicon from \"./../../Assets/images/homeV3/lock.png\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport emailicon from \"./../../Assets/images/homeV3/loupe.png\";\nimport UserAvatar from \"./../../Assets/images/User/Header/default.png\";\nimport Loader from \"./../../Utility/Loader/Loader\";\nimport trash from \"./../../Assets/images/templates/trash.svg\";\nimport { Button, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\nimport {\n apiPath,\n apigetTeamMember,\n apiaddTeamMember,\n apideleteTeamMember,\n apiSearchTeamMember,\n schema,\n apiInviteteamMember,\n} from \"./../../Utility/Utility\";\nimport Sidebar from \"../Profile/Sidebar\";\nimport Top from \"../Profile/Top\";\nconst Team = (props) => {\n const [modal, setModal] = React.useState(false);\n const toggle = () => setModal(!modal);\n const [userId, setUserId] = React.useState(\"\");\n const [userName, setUserName] = React.useState(\"\");\n const [userEmail, setUserEmail] = React.useState(\"\");\n const [successMessage, setSuccessMessage] = React.useState(\"\");\n const [errorMessage, setErrorMessage] = React.useState(\"\");\n const [errorMessage2, setErrorMessage2] = React.useState(\"\");\n const [loader, setLoader] = React.useState(false);\n const [userToken, setUserToken] = React.useState(\"\");\n const [profileImage, setProfileImage] = React.useState(\"\");\n const [showSearch, setShowSearch] = React.useState(false);\n const [showmembers, setShowmembers] = React.useState(false);\n const [showmembersList, setShowmembersList] = React.useState(false);\n const [searchEmail, setSearchEmail] = React.useState(\"\");\n const [searchResult, setSearchResult] = React.useState([]);\n const [memberList, setMemberList] = React.useState([]);\n const [blockToDelete, setblockToDelete] = React.useState(\"\");\n const [successMessageInvite, setSuccessMessageInvite] = React.useState(false);\n const cookies = new Cookies();\n const { buttonLabel, className } = props;\n React.useEffect(() => {\n const tokens = localStorage.getItem('token');\n // if (cookies.get(\"token\")) {\n if (tokens != null) {\n setUserToken(cookies.get(\"token\"));\n const token = cookies.get(\"token\");\n const decoded = jwt_decode(tokens);\n console.log(decoded);\n setUserId(decoded._id);\n setUserName(decoded.firstName);\n setUserEmail(decoded.email);\n if (userId) {\n getMembers();\n }\n }\n }, [userId]);\n const getMembers = () => {\n setLoader(true);\n setErrorMessage2(\"\");\n setSuccessMessage(\"\");\n setErrorMessage(\"\");\n axios\n .get(`${apigetTeamMember}` + \"?adminId=\" + userId, {})\n .then((response) => {\n console.log(response);\n if (response.data.members) {\n console.log(response.data.members);\n setLoader(false);\n setMemberList(response.data.members);\n } else {\n setErrorMessage(response.data.message);\n setLoader(false);\n }\n })\n .catch((error) => {\n setShowmembers(false);\n setLoader(false);\n });\n };\n const addMember = () => {\n setLoader(true);\n setShowmembers(false);\n setErrorMessage2(\"\");\n setSuccessMessage(\"\");\n setErrorMessage(\"\");\n if (userId == searchResult[0]._id) {\n setErrorMessage2(\"You can't add yourself.\");\n setLoader(false);\n return false;\n }\n axios\n .post(apiaddTeamMember, {\n adminId: userId,\n memberId: searchResult[0]._id,\n memberName: searchResult[0].firstName,\n memberPhone: searchResult[0].phone,\n memberEmail: searchResult[0].email,\n memberProfilePic: searchResult[0].profileImage,\n approve: false,\n })\n .then((response) => {\n console.log(response);\n if (response.data.error) {\n setErrorMessage2(response.data.message);\n setLoader(false);\n } else {\n setSuccessMessage(response.data.message);\n getMembers();\n setLoader(false);\n }\n })\n .catch((error) => {\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n };\n const searchMember = (email) => {\n setSuccessMessageInvite(false);\n setSearchResult([]);\n setSearchEmail(email);\n setErrorMessage2(\"\");\n setSuccessMessage(\"\");\n setErrorMessage(\"\");\n setShowmembers(false);\n const resultEmail = schema.validate({ email: email });\n if (resultEmail.error) {\n return false;\n }\n setLoader(true);\n axios\n .get(`${apiSearchTeamMember}` + \"?userEmail=\" + email, {})\n .then((response) => {\n if (response.data.members) {\n console.log(response.data.members);\n setSuccessMessage(response.data.message);\n setLoader(false);\n setSearchResult(response.data.members);\n setShowmembers(true);\n } else {\n setErrorMessage(response.data.message);\n setLoader(false);\n //setSearchResult(response.data.members)\n setShowmembers(false);\n }\n })\n .catch((error) => {\n setShowmembers(false);\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n };\n function confirmDelete(id) {\n setModal(!modal);\n setblockToDelete(id);\n console.log(id);\n }\n function deleteBlock() {\n setModal(!modal);\n setLoader(true);\n let blockId = blockToDelete;\n axios\n .delete(`${apideleteTeamMember}`, {\n params: {\n id: blockId,\n },\n })\n .then(function (response) {\n //console.log(response.data.message)\n if (response.data.message) {\n setLoader(false);\n getMembers();\n } else {\n setLoader(false);\n }\n });\n }\n const inviteMember = () => {\n setLoader(true);\n axios\n .post(apiInviteteamMember, {\n email: searchEmail,\n inviteEmail: userEmail,\n inviteName: userName,\n })\n .then((response) => {\n setLoader(false);\n console.log(response.data.message);\n if (response.data.message == \"Invitation email sent\") {\n setSuccessMessageInvite(true);\n } else {\n setSuccessMessageInvite(false);\n }\n })\n .catch((error) => {\n setErrorMessage(error.response.data.message);\n setLoader(false);\n });\n };\n return (\n
    \n {/* */}\n\n \n
    \n \n
    \n
    \n
    \n

    Team

    \n
    \n
    \n
    \n
    \n
    \n \n \"email\"\n searchMember(e.currentTarget.value)}\n className=\"form-control\"\n placeholder=\"Search User by Email\"\n />\n\n {errorMessage2 != \"\" ? (\n
    \n \n

    \n Error!\n
    \n {errorMessage2}\n

    \n
    \n
    \n ) : null}\n {errorMessage != \"\" ? (\n \n

    \n No Members Found\n
    \n Please check email address\n

    \n
    \n inviteMember()}\n className=\"btn\"\n >\n Invite\n \n
    \n
    \n ) : null}\n {successMessageInvite ? (\n \n

    \n Success!\n
    \n Invitation sent successfully\n

    \n
    \n ) : null}\n
    \n
    \n {memberList.length > 0 ? (\n memberList.map((member, index) => {\n console.log(member);\n return (\n \n
    \n
    \n confirmDelete(member._id)}\n />\n
    \n
    \n
    \n {member.memberProfilePic == undefined ? (\n \"user\"\n ) : (\n \n )}\n
    \n
    \n
    \n

    {member.memberName}

    \n
      \n
    • \n Email\n \n
    • \n
    • \n Phone Number\n \n
    • \n
    \n
    \n
    \n
    \n );\n })\n ) : (\n
    \n \n

    \n No Members Yet\n
    \n Please use the search box above to find team member.\n

    \n
    \n
    \n )}\n {showmembers ? (\n
    \n
    \n
    \n
    \n {searchResult[0].profileImage == undefined ? (\n \"user\"\n ) : (\n \n )}\n
    \n
    \n
    \n

    {searchResult[0].firstName}

    \n
      \n
    • \n Email\n \n
    • \n
    • \n Phone Number\n \n
    • \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n ) : null}\n\n {successMessage != \"\" ? (\n
    \n \n

    \n Succesfull!\n
    \n Member Succesfully added.\n

    \n
    \n
    \n ) : null}\n
    \n
    \n
    \n
    \n \n \n Delete Template\n \n

    Are you sure you want to delete this member?

    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n );\n};\nexport default Team;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport SiteHeader from \"../../Header/Header\";\nimport Loader from \"../../Utility/Loader/Loader\";\nimport Footer from \"../../Footer\";\nimport SideShape3 from \"./../../Assets/images/homeV3/SideShape3.png\";\nimport SideShape4 from \"./../../Assets/images/homeV3/SideShape2inverse.png\";\nimport Circle2 from \"./../../Assets/images/homeV3/Circle2.png\";\nimport HalfCircle from \"./../../Assets/images/homeV3/HalfCircle.png\";\nimport Triangle1 from \"./../../Assets/images/homeV3/Triangle1.png\";\nimport Circle1 from \"./../../Assets/images/homeV3/Circle1.png\";\nimport reveo_TempLogo from \"./../../Assets/images/templates/reveo_TempLogo.png\";\nimport axios from \"axios\";\n\nimport {\n apiGetTemplateCategories,\n apiGetTemplateCategory,\n apiPath,\n} from \"../../Utility/Utility\";\nimport { useRouteMatch } from \"react-router-dom\";\nconst SuccessPageSignup = () => {\n return (\n
    \n \n
    \n {/*
    \n
    \n
    \n

    Success! Video successfully uploaded

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

    Success!

    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Account has been created successfully

    \n
    \n
    Verification Email has been sent to your email id. Please confirm email before proceed.
    \n Login\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \"triangle\"\n \n \n \n \"triangle\"\n
    \n
    \n
    \n
    \n
    \n );\n};\nexport default SuccessPageSignup;\n","// @flow\r\n\r\nimport React from \"react\";\r\nimport {\r\n BrowserRouter as Router,\r\n Switch,\r\n Route,\r\n Redirect,\r\n} from \"react-router-dom\";\r\n\r\nimport HomePage from \"../Pages/Home\";\r\nimport PricingPage from \"../Pages/Pricing\";\r\nimport VideoPage from \"../Pages/VideoPage\";\r\nimport HomePageV2 from \"../Pages/HomeV2\";\r\nimport SharePage from \"../Pages/SharePage\";\r\nimport ThankyouPage from \"../Pages/ThankyouPage\";\r\nimport SuccessPage from \"../Pages/SuccessPage\";\r\nimport HomePageV3 from \"../Pages/HomeV3\";\r\nimport SupportPage from \"../Pages/Support\";\r\nimport PrivacyPage from \"../Pages/Privacy\";\r\nimport SignupPage from \"../Pages/Signup\";\r\nimport LoginPage from \"../Pages/Login\";\r\nimport ResetPage from \"../Pages/ResetPassword\";\r\nimport TokenVerification from \"../Pages/ResetPassword/TokenVerification\";\r\nimport EmailVerification from \"../Pages/Signup/TokenVerification\";\r\nimport ResetNewPassword from \"../Pages/ResetPassword/NewPassword\";\r\nimport UserHome from \"../Pages/Users/Home\";\r\nimport TemplateOne from \"../Pages/Users/Templates/Template1/Template1\";\r\nimport Block1 from \"../Pages/Users/Templates/Template1/Block/Block1\";\r\nimport Block2 from \"../Pages/Users/Templates/Template1/Block/Block2\";\r\nimport Block3 from \"../Pages/Users/Templates/Template1/Block/Block3\";\r\nimport Block4 from \"../Pages/Users/Templates/Template1/Block/Block4\";\r\n\r\nimport TemplateNew1 from \"../Pages/Templates/Scenes/Scene1\";\r\nimport TemplateScene2 from \"../Pages/Templates/Scenes/Scene2\";\r\nimport TemplateScene3 from \"../Pages/Templates/Scenes/Scene3\";\r\nimport TemplateScene4 from \"../Pages/Templates/Scenes/Scene4\";\r\nimport TemplateScene5 from \"../Pages/Templates/Scenes/Scene5\";\r\nimport TemplateScene6 from \"../Pages/Templates/Scenes/Scene6\";\r\nimport TemplateScene7 from \"../Pages/Templates/Scenes/Scene7\";\r\nimport TemplateScene8 from \"../Pages/Templates/Scenes/Scene8\";\r\nimport TemplateScene9 from \"../Pages/Templates/Scenes/Scene9\";\r\nimport TemplateScene10 from \"../Pages/Templates/Scenes/Scene10\";\r\nimport TemplateScene11 from \"../Pages/Templates/Scenes/Scene11\";\r\nimport TemplateScene12 from \"../Pages/Templates/Scenes/Scene12\";\r\nimport TemplateScene13 from \"../Pages/Templates/Scenes/Scene13\";\r\nimport TemplateScene14 from \"../Pages/Templates/Scenes/Scene14\";\r\nimport TemplateScene15 from \"../Pages/Templates/Scenes/Scene15\";\r\nimport TemplateScene16 from \"../Pages/Templates/Scenes/Scene16\";\r\nimport TemplateScene17 from \"../Pages/Templates/Scenes/Scene17\";\r\nimport TemplateScene18 from \"../Pages/Templates/Scenes/Scene18\";\r\nimport TemplateScene19 from \"../Pages/Templates/Scenes/Scene19\";\r\nimport TemplateScene20 from \"../Pages/Templates/Scenes/Scene20\";\r\nimport TemplateScene21 from \"../Pages/Templates/Scenes/Scene21\";\r\nimport TemplateScene22 from \"../Pages/Templates/Scenes/Scene22\";\r\nimport TemplateScene23 from \"../Pages/Templates/Scenes/Scene23\";\r\nimport TemplateScene24 from \"../Pages/Templates/Scenes/Scene24\";\r\nimport TemplateScene25 from \"../Pages/Templates/Scenes/Scene25\";\r\nimport TemplateScene26 from \"../Pages/Templates/Scenes/Scene26\";\r\nimport TemplateScene27 from \"../Pages/Templates/Scenes/Scene27\";\r\nimport TemplateScene28 from \"../Pages/Templates/Scenes/Scene28\";\r\nimport TemplateScene29 from \"../Pages/Templates/Scenes/Scene29\";\r\nimport TemplateScene30 from \"../Pages/Templates/Scenes/Scene30\";\r\nimport TemplateScene31 from \"../Pages/Templates/Scenes/Scene31\";\r\nimport TemplateScene32 from \"../Pages/Templates/Scenes/Scene32\";\r\nimport TemplateScene33 from \"../Pages/Templates/Scenes/Scene33\";\r\nimport TemplateScene34 from \"../Pages/Templates/Scenes/Scene34\";\r\nimport TemplateScene35 from \"../Pages/Templates/Scenes/Scene35\";\r\nimport TemplateScene36 from \"../Pages/Templates/Scenes/Scene36\";\r\nimport TemplateScene37 from \"../Pages/Templates/Scenes/Scene37\";\r\nimport TemplateScene38 from \"../Pages/Templates/Scenes/Scene38\";\r\nimport TemplateScene39 from \"../Pages/Templates/Scenes/Scene39\";\r\nimport TemplateScene40 from \"../Pages/Templates/Scenes/Scene40\";\r\nimport TemplateScene41 from \"../Pages/Templates/Scenes/Scene41\";\r\nimport TemplateScene42 from \"../Pages/Templates/Scenes/Scene42\";\r\nimport TemplateScene43 from \"../Pages/Templates/Scenes/Scene43\";\r\nimport TemplateScene44 from \"../Pages/Templates/Scenes/Scene44\";\r\nimport TemplateScene45 from \"../Pages/Templates/Scenes/Scene45\";\r\nimport TemplateScene46 from \"../Pages/Templates/Scenes/Scene46\";\r\nimport TemplateScene47 from \"../Pages/Templates/Scenes/Scene47\";\r\nimport TemplateScene48 from \"../Pages/Templates/Scenes/Scene48\";\r\nimport TemplateScene49 from \"../Pages/Templates/Scenes/Scene49\";\r\nimport TemplateScene50 from \"../Pages/Templates/Scenes/Scene50\";\r\nimport TemplateScene51 from \"../Pages/Templates/Scenes/Scene51\";\r\nimport TemplateScene52 from \"../Pages/Templates/Scenes/Scene52\";\r\nimport TemplateScene53 from \"../Pages/Templates/Scenes/Scene53\";\r\nimport TemplateScene54 from \"../Pages/Templates/Scenes/Scene54\";\r\nimport TemplateScene55 from \"../Pages/Templates/Scenes/Scene55\";\r\nimport TemplateScene56 from \"../Pages/Templates/Scenes/Scene56\";\r\nimport TemplateScene57 from \"../Pages/Templates/Scenes/Scene57\";\r\nimport TemplateScene58 from \"../Pages/Templates/Scenes/Scene58\";\r\nimport TemplateScene59 from \"../Pages/Templates/Scenes/Scene59\";\r\nimport TemplateScene60 from \"../Pages/Templates/Scenes/Scene60\";\r\nimport TemplateScene61 from \"../Pages/Templates/Scenes/Scene61\";\r\nimport TemplateScene62 from \"../Pages/Templates/Scenes/Scene62\";\r\nimport TemplateScene63 from \"../Pages/Templates/Scenes/Scene63\";\r\nimport TemplateScene64 from \"../Pages/Templates/Scenes/Scene64\";\r\nimport TemplateScene65 from \"../Pages/Templates/Scenes/Scene65\";\r\nimport TemplateScene66 from \"../Pages/Templates/Scenes/Scene66\";\r\nimport TemplateScene67 from \"../Pages/Templates/Scenes/Scene67\";\r\nimport TemplateScene68 from \"../Pages/Templates/Scenes/Scene68\";\r\nimport TemplateScene69 from \"../Pages/Templates/Scenes/Scene69\";\r\nimport TemplateScene70 from \"../Pages/Templates/Scenes/Scene70\";\r\nimport TemplateScene71 from \"../Pages/Templates/Scenes/Scene71\";\r\nimport TemplateScene72 from \"../Pages/Templates/Scenes/Scene72\";\r\nimport TemplateScene73 from \"../Pages/Templates/Scenes/Scene73\"; \r\nimport TemplateScene74 from \"../Pages/Templates/Scenes/Scene74\"; \r\nimport TemplateScene75 from \"../Pages/Templates/Scenes/Scene75\"; \r\nimport TemplateScene76 from \"../Pages/Templates/Scenes/Scene76\"; \r\nimport TemplateScene77 from \"../Pages/Templates/Scenes/Scene77\"; \r\nimport TemplateScene78 from \"../Pages/Templates/Scenes/Scene78\"; \r\nimport TemplateSceneLast2 from \"../Pages/Templates/Scenes/SceneLast2\";\r\n\r\nimport TemplateSceneLast from \"../Pages/Templates/Scenes/SceneLast\";\r\nimport CreateTemplate from \"../Pages/CreateTemplate/\";\r\nimport MyTemplates from \"../Pages/Users/MyTemplates\";\r\nimport MyVideos from \"../Pages/Users/MyVideos\";\r\nimport ExportVideo from \"../Pages/ExportVideo\";\r\nimport ProfilePage from \"../Pages/Profile\";\r\nimport ChangePassword from \"../Pages/Profile/ChangePassword\";\r\nimport UpgradePlan from \"../Pages/Profile/UpgradePlan\";\r\nimport EditProfile from \"../Pages/Profile/EditProfile\";\r\nimport Billing from \"../Pages/Profile/Billing\";\r\nimport Transactions from \"../Pages/Profile/Transactions\";\r\nimport ProductMonthly from \"../Pages/Plans/ProductMonthly\";\r\nimport TeamMonthly from \"../Pages/Plans/TeamMonthly\"\r\nimport TeamAnnual from \"../Pages/Plans/TeamAnnual\"\r\nimport ProfessionalAnnual from \"../Pages/Plans/ProfessionalAnnual\"\r\nimport FreePlan from \"../Pages/Plans/FreePlan\"\r\nimport Team from \"../Pages/Team/\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { Home } from \"@material-ui/icons\";\r\nimport SuccessPageSignup from \"../Pages/Signup/Sucess\";\r\nconst Routes = () => {\r\n const [userToken, setUserToken] = React.useState(\"\");\r\n const cookies = new Cookies();\r\n const [userName, setUserName] = React.useState(\"\");\r\n const [redirectPath, setRedirectPath] = React.useState(false);\r\n const [processing, setProcessing] = React.useState(false);\r\n React.useEffect(() => {\r\n const tokens = localStorage.getItem('token');\r\n // if (cookies.get(\"token\")) {\r\n if (tokens != null) {\r\n setUserToken(cookies.get(\"token\"));\r\n const token = cookies.get(\"token\");\r\n const decoded = jwt_decode(tokens);\r\n setUserName(decoded.firstName);\r\n }\r\n }, [userToken, cookies]);\r\n\r\n return (\r\n \r\n
    \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","// @flow\n\nimport React from 'react';\n\nimport Routes from './SiteRoute'; \n\n const Routers = () =>{\n return \n} \nexport default Routers","import React from \"react\";\nimport Routers from \"./Components/Routes\";\n\nimport 'bootstrap/dist/css/bootstrap.css';\nimport \"./Components/Assets/css/main.scss\";\n\nfunction App() {\n return (\n
    \n \n
    \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n
    \n \n
    ,\n document.getElementById('root') \n); \n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","module.exports = __webpack_public_path__ + \"static/media/close.077a02be.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAEAYAAAD6+a2dAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5QkEBhgXDWq0mwAABI5JREFUeNrt3D9sG3UUB/D3oiIkhgoh/rhxQUBUupXaHUjcomYoHTqA+LMw2Z6bOrGTxokTKkVV7Dh1639SCqLCNurQYhQJIQrqlC53Bal3qtQFpQwIRIsqITAsLHkMzc+odp049u9+d2e/zxIptn93v/u++9nnewkAY4wxxhhjjDHGGHOV0Ju3/tZGFxfDTxox7eD8vN37wxQRwYdChqFpROJn8CPziO49c2a716PdE2CdCS4a72urySSuwxx4ZmdbPY9KOIpr6XQFfbWRxMxM4+NcAC7TbvCNWhUCF4BLdBp8k+dpEL49d668fMgTODs9zQXgcKHfjbL+TiYDcThA8clJWeOKFWGX3RNkjyfOeIjDAfLIC17AJKzC7VqNVwCHkbbUt7IP/8D83Fx5znds5GoyyQXgEKqDF7/mArCZ1cFjDVOwJ5EorfqqgVdSqcbH+TOATULfGF/p3lQKqvAieZqvz7u1XfD159l9IPrNI8FX7Qu+/ny7D0i/cFrw9dfZfWB6nVODr7/e7gPUq5wefH0cew9T73FL8PXx7DlMvcdtwdfHVXuYek+QzN16cmkJw7RGo/G47PGpBC9DaXa2gv5nAp8uLckenwugQ24PXuAC2KFeCV4YaHvimy1Gwa9vrWnFkyet3jHnICJCDJIxrHtzOauCx6fgQ1yJxVQFL2xbAMEpY49+cXoaf6ECVRcWcDfehX+LxdAJ40u9cuqUqh1VTwRvjtzcm81iGFaoOj4ufSubZ3xpxf/jyOVsVvUsW74FhN4y7+re06fBSzWqLi83PSEMBmhEkIan8bnx8fI1/wcjwWJR9QTkUxu86jO+UdMKEB40o9pnU1MtgxdK4IcAIsThT3qQz7t/Reiv4IX6ChD8znxCe2lyEq/Q93Alk9nxSK5dER4GHx40czcXcjk6DkfpeCQifSsOC17AUNa4qK/HYnAb3qAH5893PaJrCkFN8BCBazQ0M1P2++cPv5BO2z3rRgNwj96lzz0eaSM2vDU476pB1RlP9+HZaNSpwQsDoj0YfqJ9kPi/Vahrm4XgnKsGtWd8BQ+dCLyWy9k33/Y0XQWIPzWCIVyHZCIhbUu2vTXwUr+VlpeBlvWqKSsEi4MX89iL/8AP0Wh5yDcR+CKflz8Pa237VbD7CoGD34m27wU4vxAeBh8aN+/pQ/k8/AX34bLEzxw9Fryw45tBzisEDr4bHd8NtKwBou1C4OBl6Pp2sPpCUBM8XcWzdGxiorLi+/nwwUJB2vgOI60fIJgx39PevnAB79A8zESj0vZwMxCMwCXMRiIbH+MuGtu/Hz+hAhwdG5O9nX4JXpDeEGJ1b5x0fRq8YFlHkOMLoc+DFyxvCbO6hWrHOPhHKOsJtL0QOPjHUt4UqrwQOPgt2dAVrKbzhoNvT9tdwfIgIhJV0KcP/xqN4nW4gdclBtPw/QEHvzUH/F2ApJs3rulEchYHFIDQYSFw8F1xUAEIbRYCB9/rxHf+xm/aq4VC/Z8h3zAuaZmNDftbzJgim1cNunlESxWL4deNYd0r8R4AY4wxxhhjjDHGWJ/4DwsfQaI6fjvGAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA5LTA0VDA2OjI0OjIzKzAwOjAwk2kI7gAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wOS0wNFQwNjoyNDoyMyswMDowMOI0sFIAAAAASUVORK5CYII=\""],"sourceRoot":""}