{"version":3,"sources":["components/app/AppContext.js","components/Filters/FilterBy.js","components/icon/icon.js","components/icon/index.js","components/elipsisMenu/elipsisMenu.js","components/elipsisMenu/index.js","components/textfield/index.js","components/actionsDialog/ActionButtons.js","components/actions/ChangeProjectName.js","utils/jwt.js","utils/request.js","utils/url.js","services/CustomMonoriel.js","services/Experience.js","services/Campaign.js","components/modal/modal.js","components/actions/Confirm.js","components/checkPermision/checkPermision.js","utils/Errors/UserWithoutGroupsException.js","utils/userGroups.js","context/UserContext.js","components/layout/PrevArrowComponent.js","components/layout/NextArrowComponent.js","hooks/useObserver.js","components/experienceCard/ExperienceStyles.js","components/notification/notification.js","components/actions/ExpName.js","pages/Profile/Sure.js","components/experienceCard/ExperienceTypeStyles.js","components/experienceCard/ImageWithBackgroundComponent.js","components/experienceCard/ExperienceType.js","components/ErrorMessage/ErrorMessage.js","components/actions/changeTarget.js","components/actions/CloneExp.js","components/actions/SeeTarget.js","components/common/select.js","components/dropInput/customOption.js","components/dropInput/DropInput.js","components/dropInput/index.js","components/actions/MigExp.js","components/actions/DeleteExp.js","components/actionsDialog/MigrationUserExperienceDialogComponent.js","services/User.js","context/MigrateExperienceUserDialogContext.js","utils/locale.js","components/actionsDialog/QRDialogComponent.js","context/QRDialogContext.js","components/actionsDialog/ChangeTargetComponent.js","context/ChangeTargetDialogContext.js","components/actionsDialog/ChangeNameComponent.js","context/ChangeNameDialogContext.js","context/ShowLoadingContext.js","components/general/AlertDialog.js","components/InputFile/index.js","services/Storage.js","components/actions/ChangeLoading8thwall.js","components/actions/ChangeToAd.js","components/actions/CloneDemoExp.js","components/experienceCard/SlideshowDemoExperience.js","components/actions/DeactivateExp.js","components/actions/EnableVR.js","components/experienceCard/experienceCard.js","components/experienceCard/index.js","components/modelViewCard/ExperienceStyles.js","components/modelViewCard/ExperienceTypeStyles.js","components/modelViewCard/ImageWithBackgroundComponent.js","components/modelViewCard/ExperienceType.js","components/actions/ChangeLoadingAr.js","pages/WebComponent/BackgroundForm.js","components/actions/EditAR.js","components/actions/ChangeAlias.js","components/actions/ChangeName.js","components/modelViewCard/ModelViewCard.js","utils/experience.js","pages/Home/CardHomeStudio.js","components/actions/DeleteCampaign.js","pages/Home/campaignListItem.js","utils/utils.js","components/actionsDialog/MigrateUserProjectDialog.js","components/loading/index.js","components/loading/loading.js","pages/Home/Home.js","pages/Home/index.js","pages/Status/Styles.js","pages/Status/StatusListItem.js","pages/Status/Status.js","components/menu/navLink.js","pages/Reports/ReportUtils.js","components/Reports/ReportHeader.js","components/Reports/OverviewTile.js","components/Reports/ReportOverViewData.js","components/Reports/ReportGraphicBarChart.js","components/Reports/TableComponent.js","components/Reports/ReportTableDemographicChart.js","services/Reports.js","pages/Reports/Reports.js","pages/Campaign/Campaign.js","pages/Campaign/index.js","components/actions/ProfileInfo.js","components/actions/DeleteAccount.js","utils/constants.js","components/actions/ProfileSec.js","utils/refresh.js","utils/cookie.js","utils/user.js","components/general/AlertDialogWarn.js","pages/Profile/UserProfile.js","services/Subscription.js","components/actions/CancelSub.js","components/coa/SausageButton.js","pages/Profile/Subscription.js","components/actions/CommonForm.js","services/Companies.js","components/actions/CompanyForm.js","components/common/search.js","pages/Profile/Companies.js","lang/index.js","lang/es.js","lang/en.js","utils/formValidations.js","components/actions/UserForm.js","pages/Profile/Users.js","pages/Profile/Educational.js","services/Publications.js","pages/Profile/Publications.js","components/actions/StudentForm.js","services/Student.js","pages/Profile/Student.js","components/actions/ProfesorForm.js","pages/Profile/Profesors.js","components/layout/HeaderStyles.js","components/Searchbar/Searchbar.js","components/layout/Header.js","pages/Profile/Profile.js","pages/Profile/index.js","pages/Search/Search.js","pages/Search/index.js","pages/Error/NotFound.js","pages/Error/Error.js","pages/Confirm/Confirm.js","pages/Confirm/ChangePassword.js","Request/Request.js","Request/ExperienceRequest.js","utils/experienceActions.js","components/actions/NewExperience.js","components/headers/RegisterHeader.js","pages/onBoarding/Onboarding.js","pages/Confirmation/styles.js","pages/Confirmation/index.js","pages/Recent/Recent.js","pages/Gallery/Gallery.js","components/DateModal/index.jsx","components/Table/TableContent/index.js","components/Table/index.js","pages/Publications/Publications.js","services/Ticket.js","components/contactForm/ContactForm.js","components/layout/FloatingButton.js","components/menu/menu.js","components/menu/index.js","components/Filters/filterMenu.js","pages/Home/HomeBread.js","components/Filters/Filters.js","components/Filters/index.js","components/dialog/dialog.js","components/dialog/index.js","components/actionsDialog/SubForm.js","components/actionsDialog/subsDialog.js","pages/EndofTrial/EndOfTrial.js","components/layout/Layout.js","components/layout/index.js","components/actionsDialog/actionsDialog.js","components/actionsDialog/index.js","components/layout/FullPageLayout.js","components/layout/LayoutBase.js","components/router/AppRoute.js","components/Experience/ExperienceHeader.js","components/Experience/ExperienceOptions.js","components/Experience/StudioOptions.js","components/Experience/ExperienceTitle.js","components/Experience/ExperienceSubtitle.js","components/Experience/TrialPayUsersWorldWebComponent.js","components/Experience/EditorComponentWorldWeb.js","components/Experience/WorldTrackingTypeComponent.js","components/Experience/WorldTrackingBasedComponent.js","components/searchProject/SearchProject.js","components/Experience/ExperienceForm.js","components/cards/Model3dCard.js","models/models3D.js","components/general/AlertDialogBodyMessageTemplate.js","components/Experience/Model3dForm.js","components/Experience/ImmersiveTypeComponent.js","components/Experience/ImmersiveBasedComponent.js","models/campaign.js","Request/Experience3dModelRequest.js","services/Behavior.js","services/trackers/Amplitude.js","services/trackers/User.js","pages/Experience/ExperiencePage.js","components/Experience/ExperiencesListWithStatus.js","pages/Home/Logout.js","pages/Home/HomeUserAndCampaigns.js","pages/WebComponent/Previsualiser.js","pages/WebComponent/HeightForm.js","pages/WebComponent/WidthForm.js","pages/WebComponent/WebComponentsUtils.js","context/OverlaysContext.js","pages/WebComponent/WebComponentModal.js","pages/WebComponent/CowcFooterTemplate.js","pages/WebComponent/CowcIconButtonTemplate.js","pages/WebComponent/CowcNavigation360TourTemplate.js","pages/WebComponent/CowcMenuTemplate.js","pages/WebComponent/CowcBackButtonTemplate.js","pages/WebComponent/CowcModalTemplate.js","pages/WebComponent/WebComponent.js","components/OverlaysLayout/OverlayLayout.jsx","context/CustomLoaderContext.js","components/CustomLoaderMenu/availableFonts.js","components/colorPicker/ColorPicker.js","components/inputFileDragAndDrop/InputFileDragAndDrop.js","components/CustomLoaderMenu/menus/LoadingScreen.js","components/CustomLoaderMenu/menus/QRScreenMVAR.js","components/CustomLoaderMenu/menus/QRScreenWTW.js","components/CustomLoaderMenu/menus/General.js","components/CustomLoaderMenu/CustomLoaderMenu.js","services/CustomLoader.js","components/CustomLoaderSaveChanges/CustomLoaderSaveChanges.js","components/customLoaderLayout/CustomLoaderLayout.js","components/CustomLoaderPreview/screens/QRScreenMVARPreview.js","components/CustomLoaderPreview/Icon360SVG.js","components/CustomLoaderPreview/screens/LoadingScreenPreview.js","components/CustomLoaderPreview/screens/QRScreenWTWPreview.js","components/CustomLoaderPreview/screens/GeneralPreview.js","components/CustomLoaderPreview/CustomLoaderPreview.js","components/CustomLoaderPreview/index.js","pages/CustomLoader/CustomLoaderEditor.js","pages/ReportsV2/CompaniesTable.js","pages/ReportsV2/ExperienceTable.js","services/ReportsV2.js","pages/ReportsV2/ReportsV2.js","components/videoTutorialCard/VideoTutorialCardStyle.js","components/actionsDialog/VideoPlayerDialogComponent.js","pages/VideoTutorials/VideoTutorials.js","pages/WarningScreenMobile/WarningScreenMobile.js","components/router/router.js","components/router/index.js","aws-exports.js","components/app/amplifyTheme.js","components/app/globalStyles.js","components/signLayout/SignLayout.js","components/signLayout/index.js","components/signUp/signUp.js","components/signUp/index.js","components/signIn/SignIn.js","components/signIn/index.js","components/forgotPass/CustomForgotStyle.js","components/forgotPass/CustomForgot.js","components/forgotPass/CustomRequireNewPass.js","components/app/App.js","components/index.js","serviceWorker.js","index.js","utils/modelViewerValidations.js","components/Experience/exp-plane-tracking.png","components/Experience/exp-plane-tracking-hover.png","components/actions/imgIcon.jpg"],"names":["AppContext","React","createContext","AppProvider","children","value","userGroups","userData","useState","newExperience","page","setPage","filter","setFilter","openSubPro","setOpenSubPro","Provider","Consumer","mapTypeData","campaigns","filterType","nameType","map","c","campaign","field","experiences","exp","length","sort","data","mapSort","recent","created","name","flow","_","orderBy","x","toLowerCase","typeData","context","useContext","dataReturn","setDataReturn","useEffect","ctxFilter","ctxFilters","filteredData","type","val","getExpTypeByName","state","filterData","Icon","className","color","onClickFn","onClick","ElipsisMenu","props","open","setOpen","rippled","unbounded","onClose","evt","anchorCorner","renderToPortal","CoaTextField","label","onChange","setValue","outlined","e","target","onBlur","ActionButtons","cancelText","acceptText","onClickCancel","onClickAccept","cancelDisabled","acceptDisabled","acceptVariant","action","disabled","danger","isDefaultAction","ChangeProjectName","memo","params","t","useTranslate","actionHandler","trim","preventDefault","refreshToken","Auth","currentAuthenticatedUser","cognitoUser","currentSession","Promise","resolve","reject","refreshSession","err","session","getAccessToken","accessToken","getJwtToken","i","Request","url","auth","_request","body","FormData","key","append","method","headers","jwt","token","axiosConfig","validateStatus","axios","response","status","message","errors","shift","Error","param","msg","parseParams","Object","entries","reduce","prev","prop","concat","encodeURIComponent","process","urlModel","CustomMonoriel","selectedProject","fetch","formData","res","alias","request","post","formData2","res2","all","statusMap","NOT_PUBLISHED","PUBLISHED","REJECTED","ON_REVIEW","ExperienceService","paginated","perPage","get","published","inRevision","unpublished","rejected","curr","next","push","paramsQuery","id","put","delete","active","vr_mode_compatible","expiration_date","campaign_id","company_id","experience_id","new_campaign_name","postJson","experienceTypeId","isAd","publicAlias","update","updateCustomMonorielConfig","localRoutProject","REACT_APP_LOCAL_ROUTE_PROJECT","CampaignService","selectedCampaign","selectedUser","userId","list","ExperiencesServices","hide","experience","moment","updated_at","isAfter","subtract","cmapaignsData","listWithExperiences","parseInt","Modal","modalEl","document","getElementById","changeStep","setChangeStep","componentValue","setComponentValue","back","setBack","execDialogfunction","componentKey","componentData","startHidden","ReactDOM","createPortal","preventOutsideDismiss","showCmp","full","style","showback","width","textAlign","title","allwaysShow","component","submitHandler","keyData","onFinish","onChangeStep","buttonLess","Confirm","check","allowedGroups","some","userGroup","includes","CheckPermision","groups","fallbackComponent","propTypes","PropTypes","element","isRequired","arrayOf","string","UserWithoutGroupsException","code","userGroupsObject","validateUserHasGroups","undefined","UserContext","UserProvider","navLinks","setNavLinks","username","setUserData","PrevArrowComponent","src","NextArrowComponent","options","show","setShow","useRef","observer","IntersectionObserver","observedEntries","isIntersecting","disconnect","observe","current","CardWrapper","styled","div","Notification","dismissesOnAction","ExpName","Sure","statusColor","MarkerContainer","MarkerContainerOffline","TypeWithPlatformWrapper","TextPlatform","p","VRModeWrapper","StatusOfExperience","ImageWithBackgroundComponent","iconSrc","aditionalClass","hasMargin","ExperienceType","visible","goToEditor","getExperienceTypeIcon","platform","getPlatformIcon","getIconForStatus","is_ad","Button","height","marginLeft","marginTop","ErrorMessage","ChangeTarget","filePath","setFilePath","errorState","setErrorState","setMessage","defaultValue","file","validFileTypes","fileExtension","files","split","pop","URL","createObjectURL","getFilePath","click","alt","CloneExp","setName","fileValue","setFileValue","hasTarget","isDemo","SeeTarget","Date","getTime","SelectControl","cx","getStyles","isDisabled","isFocused","isSelected","innerRef","innerProps","css","option","ref","DropInput","setId","addToProject","persist","this","onChangeFn","project","apply","__isNew__","menuShouldBlockScroll","classNamePrefix","placeholder","creatableProps","isLoading","MigExp","setCampaign","setCampaigns","setIsLoading","campaignService","then","campaingsResponse","campaingsMapped","menuPortalTarget","styles","dropdownIndicator","base","paddingRight","menuPortal","zIndex","icon","DeleteExp","MigrationUserExperienceDialogComponent","MigrateUserDialogContext","openMigrateExperienceDialog","setOpenMigrateExperienceDialog","users","onSearch","setSelectedUser","enabled","setEnabled","findUser","campaignId","setCampaignId","setUserId","setProjects","projects","onMigrateUserExperience","setCompanyId","companyId","user","listWithoutExperiences","dataFormatted","getProjects","onHide","Header","Title","Body","Form","FormGroup","ControlLabel","InputGroup","AutoComplete","onSelect","SelectPicker","block","Footer","appearance","UserService","paginate","baseUrl","find","u","companyid","getUsers","profesors","userType","profileId","lang","MigrateUserDialogProvider","query","setQuery","setUsers","dataForSearch","setDataForSearch","projectsSearch","setProjectsSearch","experienceId","setExperienceId","loading","migrate","window","location","reload","console","log","MigrationUserExperienceDialog","userService","surname","email","formattedData","company","localLang","localStorage","getItem","navigator","languages","userLanguage","language","browserLanguage","setItem","QrDialogComponent","QRDialogContext","openQRDialog","setOpenQRDialog","dialogData","shortUrl","setLoading","divElement","setCopied","speaker","Tooltip","dialogClassName","onShow","setTimeout","text","colorDark","QRCode","size","fontSize","paddingBottom","position","Loader","transform","top","href","rel","display","flexDirection","justifyContent","fontWeight","onCopy","Whisper","preventOverflow","trigger","placement","marginRight","cursor","QRDialogProvider","setDialogData","QRDialog","ChangeTargetComponent","ChangeTargetDialogContext","openChangeTargetDialog","setOpenChangeTargetDialog","payload","setPayload","onChangeTarget","uploading","setUploading","fileInfo","setFileInfo","fileList","setFileList","cleanData","keyboard","stopPropagation","Uploader","accept","draggable","autoUpload","fileListVisible","validFile","blobFile","callback","reader","FileReader","onloadend","result","readAsDataURL","previewFile","backdrop","center","ChangeTargetDialogProvider","Alert","success","error","ChangeTargetDialog","ChangeNameForm","originalName","ChangeNameComponent","ChangeNameDialogContext","setOpenChangeDialog","openChangeNameDialog","changeNameData","setDialogChangeNameData","onChangeName","ChangeNameDialogProvider","Appcontext","refetch","ChangeNameDialogComponent","ShowLoadingContext","ShowLoadingProvider","showLoading","setShowLoading","overlayStyle","setOverlayStyle","AlertDialog","bodyMessage","functionHandler","buttonMessage","InputFile","inputFileValue","setInputFileValue","handleFile","defaultFile","handleURL","handleQuitFile","subtitle","isOpen","quitFile","formatImage","formatImageParse","StorageService","models","uploadModelPromises","model","AWSStorage","bucketName","substring","uploadModels","bucket","level","customPrefix","public","download","jsonData","JSON","parse","TextDecoder","decode","ChangeLoading","imageURL","setImageURL","setFile","setHasLoading","hasLoadingImg","uploadLoadImage","ChangeLoadingImage","rta","getExtras","getLoadImage","marginBottom","changeLoading","ChangeToAd","handleAccept","ExperienceAd","experienceType","CloneDemoExp","showNotice","setShowNotice","campaignName","setCampaignName","control","borderColor","SlideshowDemoExperience","experienceUrl","thumbnailIndex","setThumbnailIndex","sixteenByNine","backgroundImage","DeactivateExp","translationKey","isActive","EnableVR","isEnabled","ExperienceCard","forwardRef","setExp","cmpDataObj","setCmpDataObj","useObserver","locale","getLocale","useReducer","prevState","currState","showNotification","propsNotification","setNotification","avoidCacheImage","setAvoidCacheImage","isFreelance","editExpName","changeTarget","clone","from","demoMode","navigate","activateExp","expirate","activate","deactivateExp","date","deactivate","enableVRModeCompatibility","enableVRMode","disableVRModeCompatibility","disableVRMode","handleMenuClick","actionsDialogData","experienceName","deleteExperience","link","public_alias","accessFromEditor","paths","pathname","hasUser","hasCampaign","isPublishedToProd","prod","canUseVRMode","isOffline","public_url","bind","getHermansUrl","fileArray","thumb","reverse","getUrl","Popover","fromNow","theme","align","backgroundColor","isAdmin","right","getCustomMonorielConfig","json","hasLoadingURL","getBackgroundAR","changeLoadingAR","BackgroundForm","onChangeOpacity","hiddenOpacity","classInput","alignItems","TextField","variant","Grid","item","xs","InputProps","inputProps","min","max","opacity","EditAR","setColor","selectOption","setSelectOption","hasBackgroundURL","skyBox","background","select","MenuItem","changeBackgroundAR","ChangeAlias","setAlias","aliasNormalizado","replace","changeMoesAlias","changeCletusAlias","ChangeName","changeMoesName","changeName","Snackbar","ModelViewCard","goToMonorail","getMonorailUrl","deleteCletusAlias","isEditor","canSeeReport","EXPERIENCE_TYPE","EXPERIENCE_STATUS","EXPERIENCE_SORT","EXPERIENCE_TYPE_ID","CardHomeStudio","experienceCardStyle","DeleteCampaign","removeProjectAndExperiences","CampaingListItem","expand","edit","setEdit","editProject","editCampaign","removeCampaign","catch","removeProject","settings","dots","infinite","variableWidth","speed","slidesToShow","slidesToScroll","initialSlide","prevArrow","nextArrow","responsive","breakpoint","tab","hasUserURL","openUserMigrationDialog","setSelectedCampaign","onEdge","data-key","index","hasSessionExpired","queryString","search","URLSearchParams","checkSessionExpired","isMobile","test","userAgent","MigrateUserProjectDialog","setOpenMigrateDialog","onMigrate","inside","Loading","Home","fetchData","campaignsResponse","listWithExperiencesPublished","openOnBoarding","openAlertDialog","setOpenAlertDialog","migrateCampaign","openMigrateDialog","FilterBy","campaignsFiltered","camp","ListContainer","span","IconWithStyle","StatusListItem","Status","expByStatuses","setExpByStatuses","expResponse","experienceService","listByStatuses","hideFilters","NavLink","getProps","isCurrent","formatNumber","toLocaleString","validRolesToGetCompany","getFilters","initialData","idFilters","fromFormatted","format","toFormatted","to","ids","getRGBDoughnut","osLength","colors","getRGBDoughnutCountries","country","ReportHeader","initialFilterData","setInitialData","setColumns","downloadReport","allowedRange","DateRangePicker","checkRoute","spliced","filtered","checkvalid","fixed","sortable","padding","flexGrow","buttonvalid","innerText","findIndex","splice","dataset","getKeyRef","lg","sm","Breadcrumb","valueOf","toString","Math","random","substr","lgOffset","end","showOneCalendar","ranges","disabledDate","toDate","onOk","dates","raised","OverviewTile","seconds","ReportOverViewData","totalScans","totalUsers","interactionTime","floor","ReportGraphicBarChart","tooltips","callbacks","tooltipItem","datasets","datasetIndex","legend","maintainAspectRatio","scales","yAxes","ticks","beginAtZero","userCallback","values","join","dataChart","labels","daily","scans","borderWidth","routeFoundOnBreadCrumb","dateText","onElementsClick","chart","_model","TableComponent","columns","HeaderCell","withQuery","Table","Cell","Column","dataTable","table","forEach","scansString","loadingTable","sortColumn","setSortColumn","sortType","setSortType","checkedKeys","setCheckedKeys","enabledFilter","setEnabledFilter","handleCheckAll","checked","keyAttr","handleCheck","nextCheckedKeys","handleFilter","CheckCell","rowData","dataKey","lineHeight","Checkbox","checkedVal","indeterminateVal","a","b","y","charCodeAt","onSortColumn","onRowClick","event","experience_name","campaign_name","company_name","indeterminate","ReportTableDemographicChart","setCompany","total","_meta","keys","currentValue","percentage","parseFloat","toFixed","dataCountries","dataDevices","os","ReportsService","filters","responseType","col","Reports","startOf","firstCallData","setFirstCallData","setData","backButton","setBackButton","insideDay","setInsideDay","setWithQuery","companyNameTab","setCompanyNameTab","campaignNameTab","setCampaignNameTab","experienceNameTab","setExperienceNameTab","setIdFilters","getAnalyticsData","shortLayout","noRenderFilterContainer","aTabs","urlParams","hasRoles","valid","getUserData","getProfile","formattedString","exportAG","Campaign","projectOpened","finally","path","match","ProfileInfo","phone","handleInputChange","phoneValid","updateProfile","setProfileInfo","closeModal","DeleteAccount","deleteUserAccount","BASE_ERROR","ERROR_MAP","ProfileSec","handling","setHandling","currentPass","password","newPassConfirm","validate","errMsge","errorMsg","changePassword","getRefreshToken","getToken","deleteCookie","cookie","saveCookie","cookieName","cookieValue","expirationDays","expirationDate","setDate","getDate","cookieString","toUTCString","getCookie","cookieArray","decodeURIComponent","charAt","indexOf","getUserGroups","getExpirationDays","createdAt","expirationDay","add","currentDay","diff","isExpiredUser","created_at","AlertDialogWarn","UserProfile","updateInfo","deleteAccount","updateLang","setProfile","setLang","openModal","setOpenModal","setActionsDialogData","openEdit","editUserInfo","getInvitationLink","professor","signOut","openSubDialog","toUpperCase","searchable","el","createElement","appendChild","execCommand","removeChild","SubscriptionService","CancelSub","SausageButton","invert","fluid","spacer","fsize","secondary","letterSpacing","Subscription","setModal","subscribed","subscription","fetchingData","openSubscriptionDialog","cancelSubscription","deleteSubscription","openCancelSuscription","propsModal","renderSubOption","cancelled","ends_at","plan","interval","payment","last_numbers","billing_details","address","line1","city","invoices","invoice","items","pdf","currency","amount","CommonForm","initialValues","funcSubmit","setValues","setErrors","touched","setTouched","handleBlur","rest","handleChange","prevValues","handleSubmit","formValidation","acc","newError","newTouched","every","CompanyService","CompanyForm","credentials","setCredentials","setInitialValues","getCredentials","credentialId","vuforia_account_id","company_type_id","companyType","can_see_reports","canSeeReports","can_publish","canPublish","onSubmit","required","invalid","Search","func","setSearch","setTrigger","timer","clearTimeout","Companies","companies","setCompanies","setResponse","saveCompany","addCompany","getDataPaginated","updateCompany","deleteCompany","editCompany","confirmDelete","getMark","pageToGet","alignMiddle","es","in_revision","requiredEmail","requiredPassword","actions","copy","cancel","send","close","enable","disable","understood","editAR","changeAlias","convertToAd","convertToNormal","common","spanish","english","inactive","nameSurname","world","plane","imageTracking","worldTracking","immersive","360","face","nameExperience","nameCampaign","doYouContinue","alerts","header","profile","logout","menu","toPro","paymentMethod","billingInfo","billings","sdk","sidebar","reports","reportsV2","webComponents","controlPanel","samplesGallery","videoTutorials","userManual","faqs","footer","time","customLoaderSidebar","subTitle","screenOptions","general","loader","qr","qrWTW","screens","favicon","documentTitle","fonts","centerLogo","loadingBar","grid","gradiant","black","white","brandImage","button","buttonTextColor","buttonBgColor","loadingHeaderFonts","headerText","buttons","customLoaderLayout","discard","applyChanges","errorChanges","discardMessage","formatImageIcon","yes","editAr","ok","dragAndDropFile","textHeader","textBackground","formatIcon","format2","quit","inputSelect","experienceNewFlow","invalidSize","internalError","imageTrackingDescription","worldTrackingDescription","worldTrackingSubtitle","worldTrackingApp","worldTrackingWeb","worldTrackingAppDescription","worldTrackingWebDescription","markerBased","markerLess","markerBasedDescription","markerLessDescription","subtitleWorldTracking","prox","app","web","immersiveAppDescription","immersiveWebDescription","subtitleImmersive","subtitleAppImmersive","immersiveDescription","faceTracking","new","nameOfExperience","nameOfCollection","nameOfCampaign","addTarget","createExperience","offlineExperience","offlineTargetType","forAnotherUser","offlineName","advertisement","studioNewFlow","labelFromDragComponent","infoImage","interactiveExperince","planeTracking","planeTrackingDescription","comingSoon","interactiveExperinceDescription","model3d","model3dDescription","addModelGLB","addModelUSDZ","addOrDragModel","changeModel","invalidFile","validFormat","validEmptyTarget","newExp","formatsModels","formatModels2","uploadsModels","maxFilesError","nameError","infoExpInput","infoCampaign","nameExp","addOrDragTarget","newAlias","newName","successBody","editBackground","changeBackground","image","seeTarget","deactive","cloneExp","cloneDemoExp","migExp","migExpAdmin","removeExp","toEdit","seeReports","watchQR","changeURL","endDate","msgActions","vrMode","tooltipPublishRequired","requireProSubscription","QRDialogTitle","notPublished","tooltipMessage","copyToClipboard","msgBody","deleteExp","enableVR","disableVR","imgTracking","chooseTypeExp","createExp","expTypePlane","expTypeImageTracking","createExpPlane","createExpImageTracking","expTypeWorldTracking","createExpWorldTracking","expTypeImmersive","createExpImmersive","expTypeWorld","activeExp","formatsTarget","campaignSelectOrCreate","previewText","description","support","valids","requiredName","requiredProject","requiredTarget","ExperienceAlreadyExists","ExperienceAlreadyExistsBody","pages","signUp","confirmPassReq","emailReq","passwordReq","passwordLength","passwordNotMatch","accountExist","characters","passwordMayus","notEmpty","passwordMinus","passwordSymbol","someValueNull","currentPasswordInvalid","limitReached","registerInStudio","haveAnAccount","enter","conditions","conditionsPayment","conditionsTwo","conditionsTwoUrl","conditionsAnd","privacyPolicies","privacyPoliciesUrl","createFreeAccount","signIn","userNotFound","notAuthorized","notConfirmed","userNoGroups","resetPass","isNewUser","forgotMyPass","enterStudio","modal","openProject","namePlaceHolder","editCustomLoader","viewReport","migProject","tutorial","projectBreadcrumb","inputLabel","linkPricing","form","discountCoupon","promotions","insertDiscount","insertUsername","insertSurname","insertPhone","insertBillingAddress","insertCP","insertCountry","insertCity","errorCoupon","fieldReq","validEmail","reqTelephone","validTelephone","billing","cpCode","personalData","coupon","postalCode","submit","month","year","basicPlan","professionalPlan","canCancelSubscription","annualSaving","upgradePlan","yearlyPlan","monthlyPlan","withoutCreditCard","unlimitedExperiences","publishDrafts","views","monthlyScan","accessReportsMetrics","helpCenter","personalSupport","onboarding","welcome","firstExperience","buttonFirst","confirm","goToLogin","confirmationSend","mailConfirmSent","checkMail","resetSend","mailSent","resetOk","passReset","endOfTrial","endTrial","paragraph","upgrade","404","return","warningMobile","account","tabs","publishes","educationals","professors","students","backToProject","sureMsg","pagination","addMsg","classroom","headTable","emailProfessor","nameClassroom","nameProfessor","surnameProfessor","educational","addEntity","entityEducational","continue","notification","msgRejected","approved","msgApproved","approve","out","see","student","free","expiration","expired","days","freePlan","noPurchase","yourPlan","profesionalSubscription","untilValid","planAnnual","planMonthly","cancelButton","creditCard","downloadInvoice","subscriptionCancelled","userProfile","sec","changePass","fakeName","security","inviteLink","deleteAccountStudio","phoneInvalid","previousPassword","newPassword","confirmPassword","labelUserType","userCamonapp","marketing","admin","companyUser","recentExp","experiencesT","allCompanies","alertTitle","alertBody","actionType","quantity","totalViews","viewForDay","statistics","cantView","demographicData","so","customForgot","recoveryPass","backToLoginButton","infoMsg","titleMsg","requireNewPass","passwordReset","updatePassword","statusExp","seeAll","expCreated","order","onReview","expType","help","goToSupport","termsAndConditions","contactForm","fields","subject","sending","messages","sentOk","sentFailed","assets","maxVertices","maxResolutionGlb","overlays","selectComponenLabel","visualiser","desktop","mobile","propertyLabel","properties","visibility","personalizationButton","iconUrl","setUrl","primaryTextColor","secondaryTextColor","primaryBackgroundColor","secondaryBackgroundColor","primaryBackgroundUrl","secondaryBackgroundUrl","terciaryBackgroundUrl","shape","left","bottom","unity","steps","activeItemColor","itemColor","buttonColor","font","timeToAppear","textLeftButton","textRightButton","transitionDirection","transitionLTR","transitionRTL","leftPosition","rightPosition","centerPosition","textAndColor","buttonsColor","alignment","primaryText","secondaryText","textColor","textColorButtons","backgroundRightButton","backgroundLefttButton","backgroundRightButtonHover","backgroundLefttButtonHover","backgroundRightButtonClick","backgroundLefttButtonClick","textColorLeftButton","textColorRightButton","textColorLeftButtonHover","textColorRightButtonHover","closeButton","mesaures","export","includeLibrary","copied","cowcFooterBotton","cowc360NavigationTour","cowcBackButton","cowcIconButton","cowcMenu","cowcModal","cowcModalWithTrigger","cowcShopButton","tablePublications","limitDate","dateModal","msjError","en","emailValidation","fieldRequired","isUpdate","USER_TYPES_INTERNAL","UserForm","isUserInternal","setIsUserInternal","COMPANY_TYPE","fetchCompanies","str","getFilter","getError","isEqual","defaultProps","DialogDisableDelete","Users","saveUser","user_type","addUser","updateUser","disableUser","deleteUser","editUser","modalDisableUser","modalDeleteUser","Educational","setEducationals","saveEducational","updateEducational","deleteEducational","openEditEducational","PublicationService","getPendingForApproval","publications","user_id","getUser","resultArray","chunkIndex","DialogConfirm","Publications","setPublications","goToExp","rejectExp","publicationsService","modalConfirmApprove","modalConfirmDisapprove","publication","request_publish_at","content","showArrow","activateOn","StudentForm","setProfessors","user_type_id","profs","classroomId","me","StudentService","Student","openDeleteUser","ProfesorForm","SelectEntity","Profesor","saveProfesor","HeaderWrapper","inherited","ImgContainer","Logo","img","SearchContainer","MenuContainer","SimpleMenuWithStyles","SimpleMenu","TextLabelMembership","colorType","NORMAL_USER","ADMIN","PRO","ButtonMembership","SimpleMenuItem","backgroundPro","hasBottomBorder","UserBoxWrapper","SearchContainerBox","SearchLabel","h2","Searchbar","setActiveSearch","searchValue","setSearchValue","keydown","Addon","borderTop","borderBottom","borderLeft","borderRight","Input","onKeyDown","onFocus","searchhValue","setSearchhValue","activeSearch","removeItem","us","attributes","getUserIdFromUrl","hideSearch","handle","Avatar","circle","focus","getMenuOptionsByRole","Profile","tabId","setActive","setIndex","tabsOption","tabsContent","setTabs","initProfile","indexTabActive","route","configTabs","viewCamonappAdminUsers","onUpdateInfo","onDeleteAccount","viewCamonappUsers","Profesors","viewEducationalUsers","viewProfessorsUsers","tabsPane","onUpdateLang","tabsRender","group","getTabsByRole","cloneElement","initTabs","backHandler","Nav","activeKey","eventKey","synthEvent","Item","renderTabs","setExperiences","stringify","_response","_data","NotFound","client","confirmUser","formInstance","Array","d","ExperienceRequest","reqParams","experience_type_id","target_type","user_project_id","targetless","make","create","NewExperience","experience_type","experienceRoad","setExperienceRoad","hover","setHover","useForm","register","step","setStep","setType","setProject","setPlainHover","setWorldHover","dataError","setDataError","validDataMessage","setValidDataMessage","listCampaings","set","isFreelanceX","onMouseEnter","onMouseLeave","validData","inputRef","webkitURL","round","imageLogo","RegisterHeader","Onboarding","SectionContainer","section","ImgsContainer","h3","Paragraph","Confirmation","Recent","Gallery","DateModal","setModalStatus","dateError","LocalizationProvider","dateAdapter","AdapterDayjs","StaticDatePicker","displayStaticWrapperAs","openTo","newValue","renderInput","handleClick","TableContent","modalStatus","actualDay","dateExp","desactivateExp","v","setTotal","Pagination","count","ceil","TicketService","ContactForm","formRef","setFormData","submitting","submitted","setStatus","createTicket","aria-label","htmlFor","rows","FloatingButton","isFormOpen","setIsFormOpen","IconsInactiveAssets","rocket","panel","URL_USER_MANUAL_ZENDESK","URL_FAQS_ZENDESK","Menu","collapse","setCollapse","setShowNotification","icons","setSelectedIcons","amplitude","getInstance","logEvent","showSubscription","ButtonFreelance","onCollapse","FilterMenu","selected","HomeBread","goToLink","parsedTab","separator","Filters","defaultFilter","handler","property","getExperiencesByDict","dict","hideStatusFilter","DialogContainer","Dialog","setExperience","plainHover","worldHover","setExperienceForm","getParams","changeTargetExperience","setContextToFalse","editTargetExperience","editExperience","Fragment","EMAIL_FOR_SUBSCRIPTION","zip","SubForm","countries","setcountries","discountCouponErrorClassLabel","discountCouponErrorClassInput","discountCouponErrorMessage","userEmail","idToken","countryList","getData","synthE","menuClassName","onClean","selectedValue","injectStripe","SubsDialog","stage","setStage","paymentType","setPaymentType","setClasStyle","setTextPayment","hasNoZIndex","data-index-number","apiKey","EndOfTrial","LayoutBase","collapsible","onBoarding","OpenSnack","goToGallery","ready","handleCollapse","checkExpiredUser","getCurrentUser","userCookie","sub","setState","showEndofTrial","ondOfTrial","enableLoading","disableLoading","disableonBoarding","enableEndOfTrial","isEmpty","goToSubscription","Component","contextType","Layout","ActionsDialog","dialogConfig","setDialogConfig","openActionsDialog","hideLoading","showBack","FullPageLayout","LayoutBaseEmpty","AppRoute","ExperienceHeader","onBack","Navbar","pullRight","ExperienceOptions","setTitle","setHideExperienceOptions","hoverImage","setHoverImage","imageHover","imageNoHover","StudioOptions","world_tracking_type","ExperienceTitle","ExperienceSubtitle","subT","TrialPayUsersWorldWebComponent","EditorComponentWorldWeb","WorldTrackingTypeComponent","role","getComponentRole","WorldTrackingBasedComponent","world_tracking_based","SearchProject","dataSearch","InputPicker","borderRadius","creatable","ExperienceForm","actualStep","handleCreateExperience","setDialogOptions","setOpenDialogAlert","showOfflineExpForm","setShowOfflineExpForm","showForOtherUserForm","setShowForOtherUserForm","setCampaignValue","disabledProject","setDisabledProject","savedCampaign","setSavedCampaign","validForm","setValidForm","lastData","triggerFile","bodyMsg","forOtherUser","setChangeProject","getPopover","maxWidth","FlexboxGrid","justify","colspan","FormControl","border","getParseDataOwnProject","getParseDataExternalProject","onDragEnter","onDragOver","onDrop","dataTransfer","getFormControls","Model3dCard","handleDeleteAction","margin","use","tag","slice","cropLongTextUsdz","minHeight","onIcon","Model3D","createName","aName","ext","now","AlertDialogBodyMessageTemplate","invalidFiles","aInvalidFile","fileName","errorFormatTraslate","Model3dForm","handleUploadModels","enabledCss","setEnabledLoadCss","filesInputs","setFilesInputs","usdzDisabled","setUsdzDisabled","errorProjectName","setErrorProjectName","errorModels","setErrorModels","errorExpName","setErrorExpName","cssStyleChoose","expname","triggerFileUsdz","aModel3d","filterInputs","aFile","addModelsFiles","validFiles","results","validateFile","filesValidations","validationFile","addUsdzFile","multiple","ImmersiveTypeComponent","ImmersiveBasedComponent","Experience3dModelRequest","setExpName","Behavior","provider","User","browser","ExperiencePage","openDialogAlert","fnHandler","dialogOptions","setTrackerUser","setTracker","tracker","createExperienceIntent","hideExperienceOptions","setIsMagioGroup","userRole","formatted","getExperienceId","withTarget","duplicatedName","createModelViewExperience","createMonorailFolder","uploadOneModel","goToMainExperiencePage","Container","getComponentByExperienceType","ExperiencesListWithStatus","formatName","getExperiencesWithStatus","experiencesWithSingleStatus","Logout","HomeUserAndCampaigns","getCampaignId","userResponse","Previsualiser","previsualiserType","setPrevisualiserType","HeightForm","inputMode","pattern","WidthForm","config","getLibaryScript","hexToRGB","hex","alpha","r","g","OverlaysContext","OverlaysProvider","overlay","setOverlay","variableSelected","setVariableSelected","WebComponentModal","setIncludeLibrary","tooltipCopyText","setTooltipCopyText","onCloseModal","aria-labelledby","aria-describedby","Box","sx","bgcolor","boxShadow","pt","px","pb","Typography","mt","overflow","whiteSpace","FormControlLabel","library","script","clipboard","writeText","timeOutId","CowcFooterTemplate","srcIcon","setSrcIcon","setBackgroundColor","setHeight","heigthTypeSelected","setHeigthTypeSelected","setOpacity","widthTypeSelected","optionsVariables","getScript","container","spacing","isNaN","scaleHeight","fullWidth","renderVariableSelected","src-icon","background-color","CowcIconButtonTemplate","srcBackground","setSrcBackground","srcBackgroundAlt","setSrcBackgroundAlt","setWidth","setWidthTypeSelected","setShape","setTop","setLeft","setRight","setBottom","optionsShape","scaleWidth","s","src-background","src-background-alt","CowcNavigation360TourTemplate","stepIndexActiveColor","setStepIndexActiveColor","stepIndexColor","setStepIndexColor","setTextColor","setButtonsColor","backgroudColor","setBackgroudColor","setFont","timeIn","setTimeIn","closeButtonUrl","setCloseButtonUrl","setSteps","stepsArray","setStepsArray","setTextLeftButton","setTextRightButton","handleClickAddStepButton","newStepArray","setStepsString","array","stepsString","stepString","IconButton","newArray","handleClickDeleteteStepButton","handleChangeSrcIconStep","handleChangeTitleStep","handleChangeDescriptionStep","steps-index-active-color","steps-index-color","text-color","buttons-color","time-in","text-left-button","text-right-button","icon-height","have-btn-close","btn-close-url","CowcMenuTemplate","setPosition","setHeader","buttonShape","srcIconAlt","setSrcIconAlt","srcIconHover","setSrcIconHover","transitionDirect","setTransitionDirect","cowcMenuItems","setCowcMenuItems","getItemsArrayString","cowcMenuItemsString","mi","handleClickAddItemButton","input","OutlinedInput","handleClickDeleteteItemButton","newItemArray","handleChangeItemHref","labelId","handleChangeItemTab","handleChangeItemTextAlign","handleChangeItemText","handleChangeItemTextColor","button-position","button-shape","src-icon-alt","src-icon-hover","transition-direction","text-align","CowcBackButtonTemplate","CowcModalTemplate","setBackgroundRightButton","setBackgroundLefttButton","setBackgroundRightButtonHover","setBackgroundLefttButtonHover","setTextColorLeftButton","setTextColorRightButton","setTextColorLeftButtonHover","setTextColorRightButtonHover","setPrimaryText","setSecondaryText","position-overlay","width-desktop","primary-text","secondary-text","background-right-button","background-left-button","text-color-right-button","text-color-left-button","background-right-button-mouse-up","background-left-button-mouse-up","text-color-right-button-mouse-up","text-color-left-button-mouse-up","WebComponent","class","renderWebComponentSelected","OverlayLayout","CustomLoaderContext","DEFAULT_COLORS","CustomLoaderProvider","editedScreen","setEditedScreen","isLegacyMetadata","setIsLegacyMetadata","setLanguage","changesSaved","setChangesSaved","DEFAULT_FAVICON","reset","local","generalSettings","setGeneralSettings","iconColor","headerFont","headerImage","default","loadingBarColor","isGrid","isGradiant","gradiantColor","footerThemeColor","footerImage","centerImage","loadingScreenSettings","setLoadingScreenSettings","family","qrMvarScreenSettings","setQrMvarScreenSettings","qrWTWScreenSettings","setQrWTWScreenSettings","mergeDeep","source","File","updateGeneralSettings","newState","updateLoadingSettings","updateQRMvarSettings","updateQRWTWSettings","styleMetadataVersion","version","loaderIconColor","loaderTextColor","loaderLoadingBarColor","loaderHeaderFont","loaderBackgroundColor","loaderBackgroundGradiantColor","backgroundGradiantColor","loaderBackgroundIsGrid","loaderBackgroundIsGradiant","loaderBackgroundLocal","backgroundURL","loaderCenterLocal","centerLogoURL","loaderFooterThemeColor","hasDefaultLogo","logoURL","qrScreen","qrMvar","AVAILABLE_FONTS","bold","fontFamily","normal","urls","getFontFamily","fontName","ColorPicker","displayColorPicker","setDisplayColorPicker","handleColor","defaultColor","InputFileDragAndDrop","acceptedExtensions","onFileLoaded","onQuitFile","setBackgroundFile","inputId","warningTextInvalidFormat","infoTextValidFormats","acceptedExtensionsList","LoadingScreen","textSettingsOpen","setTextSettingsOpen","logoSettingsOpen","setLogoSettingsOpen","loadingBarSettingsOpen","setLoadingBarSettingsOpen","footerSettingsOpen","setFooterSettingsOpen","centerLogoSettingsOpen","setCenterLogoSettingsOpen","backgroundSettingsOpen","setBackgroundSettingsOpen","currentState","openSetter","handleUpdateSettings","newSettings","List","ListItem","PictureOutlined","ListItemText","primary","Collapse","in","unmountOnExit","FontSizeOutlined","ClockCircleOutlined","DownloadOutlined","l","QRScreenMVAR","brandLogoSettingsOpen","setBrandLogoSettingsOpen","buttonSettingsOpen","setButtonSettingsOpen","QRScreenWTW","General","faviconSettingsOpen","setFaviconSettingsOpen","documentTitleSettingsOpen","setDocumentTitleSettingsOpen","SCREENS_VALUES","CustomLoaderMenu","fontPromises","flatMap","FontFace","load","screen_item","CustomLoaderService","assign","CustomLoaderSaveChanges","save","updateCustomLoaderConfig","applyInitialConfiguration","CustomLoaderLayout","QRScreenMVARPreview","brandImageMeasuresRef","brandImageRef","footerImageMeasuresRef","footerImageRef","qrLogo","qrGrill","backgroundPosition","backgroundSize","qrBackground","qrDescriptions","qrDescriptionsBold","qrButton","hidden","onMouseOver","outline","onMouseOut","Icon360SVG","xmlns","viewBox","enableBackground","xmlSpace","iconcolor","LoadingScreenPreview","logoHeaderRef","logoHeaderMeasuresRef","logoCenterRef","logoCenterMeasuresRef","logoFooterRef","logoFooterMeasuresRef","hasCenterLogo","notDisplay","centerLogoHeight","loadingContainerPosition","centerLogoFile","backgroundImageGrid","backgroundRepeat","backgroundFile","logoImage","iconSVG","maxHeight","footerColor","QRScreenWTWPreview","hasBrandLogo","hasFooterLogo","qrBrandImage","qrFooterImage","footerImgSrc","GeneralPreview","readOnly","CustomLoaderPreview","CustomLoaderEditor","getCustomLoaderConfig","CompactCell","CompactHeaderCell","CompaniesTable","setSelected","setBreadcrumb","breadcrumb","defaultColumns","compact","column","columnKeys","CustomCell","CustomHeaderCell","rowClassName","showHeader","bordered","cellBordered","headerHeight","rowHeight","experienceColumns","ReportsServiceV2","ReportsV2","breadInfo","setBreadInfo","objData","tableScans","viewTables","total_views","total_users","average_time","scans_per_day","scans_per_day_all_companies","views_table","onClickExport","newBreadcrumb","newBreadInfo","clickBreadcumb","interaction_label","VideoPlayerDialogComponent","modalSize","innerHeight","openDialog","handleCloseModal","video","aspectRatio","allowFullScreen","allow","VIDEO_TUTORIALS_JSON_URL","REACT_APP_VIDEOTUTORIALS_BASE_URL","VideoTutorials","tutorials","setTutorials","setOpenDialog","selectedVideo","setSelectedVideo","handleClickVideo","fetchVideos","videos","j","thumbnail","WarningScreenMobile","RouterCmp","Router","authState","OverlaysLayout","awsmobile","GlobalStyle","createGlobalStyle","SignInLayout","SignLayout","float","CustomSignUp","gotoLogin","inputTypePass","inputTypeConfirm","logged","errorMessage","errorMessageMail","errorMessagePassword","errorMessageConfirmPassword","errorClassPassword","errorClassPasswordLabel","errorClassMail","errorClassMailLabel","errorClassConfirmP","onStateChange","gotoSignIn","passwordConfirm","handleError","confirmation","md","tabIndex","SignUp","translate","SignIn","setLogged","setError","setHide","setErrorMessage","inputType","setInputType","errorMail","setErrorClassMail","errorPass","setErrorPass","setErrorVisible","formattedUser","authData","errorPlacement","Text","Rounded","CustomForgot","setEmail","setParagraph","userChangePass","forgotPassword","CustomRequireNewPass","pass","setPass","confirmPass","setConfirmPass","setCode","setUsername","labelOldPass","inputOldPass","errorHandler","setErrorHandler","forgotPasswordSubmit","er","autocomplete","App","setUserGroups","refresh","amplifyTheme","amplifyConfig","awsconfig","Greetings","ForgotPassword","RequireNewPassword","override","Boolean","hostname","Amplify","configure","identityPoolId","region","userPoolId","init","render","serviceWorker","registration","unregister","NodeIO","require","inspect","TextureTransform","io","registerExtensions","getMetadata","buffer","doc","readBinary","byteOffset","byteLength","trimBuffer","validModelFormat","validMaxVertex","metadata","sumBy","meshes","validFormatResult","arrayBuffer","Buffer","validMaxTextures","matadata","textures","resolution","x1","y1","Number","module","exports"],"mappings":"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","file":"static/js/main.8bd01621.chunk.js","sourcesContent":["import React, { useState } from 'react'\n\nconst AppContext = React.createContext({})\n\nfunction AppProviderContext({ children, value: { userGroups, userData } }) {\n const [page, setPage] = useState({ newExperience: false });\n const [filter, setFilter] = useState({});\n const [openSubPro, setOpenSubPro] = useState(false);\n return (\n \n {children}\n \n )\n}\n\nexport const AppProvider = AppProviderContext;\nexport const AppConsumer = AppContext.Consumer\n\nexport default AppContext;\n","import {useContext, useEffect, useState} from 'react';\nimport _ from 'lodash';\nimport AppContext from '../../components/app/AppContext';\n\nconst mapTypeData = {\n campaigns: {filter: filterCampaigns, sort: sortCampaign},\n experiences: {filter: filterExperiences, sort}\n}\n\nconst mapSort = {\n recent: 'updated_at',\n created: 'created_at',\n name: 'name'\n};\n\nconst getFieldSort = (field) => mapSort[field] || 'updated_at';\n\nfunction filterCampaigns(campaigns, filterType, nameType) {\n return campaigns\n .map(c => filterExperienceByField(c, filterType, nameType))\n .filter(c => c.experiences.length);\n}\n\nfunction filterExperiences(experiences, filter, field) {\n return experiences.filter(exp => exp[field] === filter || filter === 'all')\n}\n\nfunction filterExperienceByField(campaign, filter, field) {\n const camp = {\n ...campaign,\n experiences: campaign.experiences.filter(exp => exp[field] === filter || filter === 'all')\n };\n return camp;\n}\n\nfunction sort(data, field, flow = 'desc') {\n if(field === 'name'){\n flow = 'asc';\n }\n return _.orderBy(data, x => x[field].toLowerCase(), flow)\n}\n\nfunction sortCampaign(data, field) {\n const campaigns = sort(data, 'name', 'asc');\n return campaigns.map(c => ({...c, experiences: sort(c.experiences, field)}));\n}\n\nconst getExpTypeByName = (val) => {\n switch (val) {\n case 'immersive':\n return 1;\n case 'world':\n return 2;\n case 'image':\n return 3;\n case 'face':\n return 4;\n default:\n return val;\n }\n};\n\nexport default ({children, data, typeData}) => {\n const context = useContext(AppContext);\n const [dataReturn, setDataReturn] = useState([]);\n\n useEffect(() => {\n const filterData = (ctxFilters) => {\n let filteredData = [...data];\n\n if (ctxFilters.type) {\n filteredData = mapTypeData[typeData].filter(filteredData, getExpTypeByName(ctxFilters.type.value), 'experienceTypeId');\n }\n\n if (ctxFilters.state) {\n filteredData = mapTypeData[typeData].filter(filteredData, ctxFilters.state.value, 'status');\n }\n\n return mapTypeData[typeData].sort(filteredData, getFieldSort(ctxFilters.sort?.value));\n };\n\n\n const ctxFilter = context.filter;\n setDataReturn(filterData(ctxFilter));\n }, [context.filter, data, typeData])\n\n return children(dataReturn);\n}\n\n","import React from 'react';\n\nimport './icon.scss';\nfunction Icon({ name, color, className, onClickFn }) {\n return (\n
\n )\n}\n\nexport default Icon;\n","import Icon from './icon';\nexport default Icon;","import React from 'react';\n\nimport { Menu, MenuSurfaceAnchor, } from '@rmwc/menu';\nimport { Ripple } from '@rmwc/ripple';\n\nimport Icon from '../icon';\nimport './elipsisMenu.scss';\nimport '@material/menu/dist/mdc.menu.css';\nimport '@material/menu-surface/dist/mdc.menu-surface.css';\nimport '@material/ripple/dist/mdc.ripple.css';\n\nimport '@material/list/dist/mdc.list.css';\nfunction ElipsisMenu(props) {\n const [open, setOpen] = React.useState(false);\n if (props.rippled) {\n return (\n \n \n setOpen(false)}\n className={'drop-menu-container'}\n anchorCorner={'topEnd'}\n renderToPortal={true}\n onClick={evt => setOpen(false)}\n >\n {props.children}\n \n setOpen(!open)} />\n \n\n \n )\n } else {\n return (\n \n setOpen(false)}\n className={'drop-menu-container'}\n anchorCorner={'topEnd'}\n renderToPortal={true}\n onClick={evt => setOpen(false)}\n >\n {props.children}\n \n setOpen(!open)} />\n \n )\n }\n\n}\n\nexport default ElipsisMenu;","import ElipsisMenu from './elipsisMenu';\nexport default ElipsisMenu;","import React, { useState, useEffect } from 'react';\nimport { TextField } from '@rmwc/textfield';\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\n\nimport './style.scss'\n\nfunction CoaTextField(props) {\n const {label, data, onChange } = props\n const [value, setValue] = useState(data);\n\n return (\n
\n { setValue(e.target.value); onChange(e.target.value) }}\n onBlur={(e) => { onChange(e.target.value) }}\n >\n \n
\n )\n}\n\nexport default CoaTextField;","import React from \"react\";\nimport { DialogActions, DialogButton } from '@rmwc/dialog';\n\nexport default function ActionButtons({\n cancelText,\n acceptText,\n onClickCancel,\n onClickAccept,\n cancelDisabled,\n acceptDisabled,\n acceptVariant = 'primary'\n}) {\n return (\n
\n \n {cancelText}\n \n {acceptText}\n \n \n
\n )\n}","import React, { useState, useEffect, memo } from 'react';\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\nimport { useTranslate } from 'react-polyglot';\nimport CoaTextField from '../textfield';\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\nconst ChangeProjectName = memo(function ChangeProjectName(params) {\n const t = useTranslate();\n\n const {setOpen, actionHandler} = params;\n const [value, setValue] = useState(params.data);\n\n return (\n
\n \n {\n e.preventDefault();\n setOpen(false);\n }}\n onClickAccept={(e) => {\n e.preventDefault();\n actionHandler(value);\n }}\n >\n
\n )\n});\n\nexport default ChangeProjectName;","import { Auth } from 'aws-amplify';\n\nexport const refreshToken = async () => {\n const cognitoUser = await Auth.currentAuthenticatedUser();\n const currentSession = await Auth.currentSession();\n return new Promise((resolve, reject) => {\n cognitoUser.refreshSession(currentSession.refreshToken, (err, session) => {\n if (err) reject(err);\n resolve(session);\n });\n });\n}\n\nexport default async () => {\n const session = await Auth.currentSession();\n const accessToken = await session.getAccessToken();\n return await accessToken.getJwtToken();\n}\n","import axios from 'axios';\nimport jwt from './jwt';\n\nclass Request {\n\n static async get(url, params = {}, auth = true) {\n return Request._request(url, params, auth);\n }\n\n static post(url, params, auth = true) {\n const body = new FormData();\n \n for (let key in params.body) {\n body.append(key, params.body[key]);\n }\n params = {\n method: 'POST',\n ...params\n\n }\n params.body = body;\n return Request._request(url, params, auth);\n }\n\n static postJson(url, params, auth = true) {\n\n params = {\n method: 'POST',\n ...params\n\n }\n return Request._request(url, params, auth);\n }\n\n static put(url, params, auth = true) {\n params = {\n method: 'PUT',\n ...params,\n }\n return Request._request(url, params, auth);\n }\n\n static delete(url, params, auth = true) {\n params = {\n method: 'Delete',\n ...params,\n }\n return Request._request(url, params, auth);\n }\n\n static async _request(url, params, auth) {\n const headers = {};\n if (auth) {\n const token = await jwt();\n headers['authorization'] = `Bearer ${token}`;\n }\n const axiosConfig = {\n method: params.method,\n headers,\n url,\n validateStatus: () => {\n return true;\n }\n }\n if (params.body) {\n axiosConfig.data = params.body;\n }\n try {\n const response = await axios(axiosConfig);\n if (response.status >= 400) {\n throw (response.data.message || response.data.errors?.shift());\n }\n return Promise.resolve(response.data);\n } catch (error) {\n if (typeof error === 'string') {\n throw new Error(error); \n }\n throw new Error(`${error.param}: ${error.msg}`)\n }\n }\n}\n\nexport default Request;\n\n","\nexport const parseParams = (params) => {\n if (params) {\n return Object.entries(params)\n .reduce((prev, [prop, value]) => {\n if (prev !== '') prev = prev.concat('&')\n return prev.concat(`${prop}=${encodeURIComponent(value)}`);\n }, '') \n }\n return ''\n}\n","import jwt from '../utils/jwt';\nimport request from '../utils/request';\n\nconst url = process.env.REACT_APP_CUSTOM_MONORIEL;\nconst urlModel = process.env.REACT_APP_CUSTOM_MONORIEL_UPLOAD_MODEL;\nclass CustomMonoriel {\n\n static async getCustomMonorielConfig(selectedProject) {\n try {\n return fetch(url + '?projectId=' + selectedProject, {\n method: 'GET'\n })\n } \n catch (error) {\n return Promise.reject(error);\n }\n }\n\n static async updateCustomMonorielConfig(selectedProject, formData) {\n try {\n const res = await fetch(url + '/background?projectId=' + selectedProject, {\n method: 'POST',\n body: formData\n });\n\n return Promise.resolve(res);\n\n } catch (error) {\n return Promise.reject(error);\n }\n }\n \n static async createMonorailFolder(selectedProject, formData) {\n try {\n const res = await fetch(url + '/?projectId=' + selectedProject, {\n method: 'POST',\n body: formData\n });\n\n return Promise.resolve(res);\n\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n static async changeCletusAlias(selectedProject, formData) {\n const headers = {};\n const token = await jwt();\n headers['authorization'] = `Bearer ${token}`;\n try {\n const res = await fetch(url + '/change-alias/?projectId=' + selectedProject, {\n method: 'POST',\n headers,\n body: formData\n });\n\n return Promise.resolve(res);\n\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n static async deleteCletusAlias(selectedProject) {\n const headers = {};\n const token = await jwt();\n headers['authorization'] = `Bearer ${token}`;\n try {\n const res = await fetch(url + '/delete/?projectId=' + selectedProject, {\n method: 'POST',\n headers\n });\n\n return Promise.resolve(res);\n\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n static async changeMoesAlias(selectedProject, alias) {\n return request.post(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${selectedProject}/change-alias/${alias}`, {});\n }\n\n static async changeMoesName(selectedProject, name) {\n return request.post(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${selectedProject}/change-name/${name}`, {});\n }\n static async cletusUpdateGlbUsdz (formData,formData2,selectedProject) {\n try {\n const res = await fetch(urlModel + '/usdz/?projectId=' + selectedProject, {\n method: 'POST',\n body: formData\n });\n const res2 = await fetch(urlModel + '/glb/?projectId=' + selectedProject, {\n method: 'POST',\n body: formData2\n });\n \n return Promise.all([res,res2]);\n\n } catch (error) {\n return Promise.reject(error);\n }\n }\n}\n\nexport default CustomMonoriel;\n","import request from '../utils/request';\nimport { parseParams } from '../utils/url';\nimport CustomMonoriel from './CustomMonoriel';\n// TODO: se mantiene como legacy el status ON_REVIEW pero ya no se usa, en cualquier lo momento lo podemos deprecar\n\nconst statusMap = {\n NOT_PUBLISHED: 'unpublished',\n PUBLISHED: 'published',\n REJECTED: 'rejected',\n ON_REVIEW: 'published'\n}\n\nclass ExperienceService {\n\n static async list(paginated = false, page = 1, perPage = 5) {\n if (paginated) {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences?page=${page}&per_page=${perPage}`);\n\n } else {\n\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences`);\n }\n }\n\n static async listByStatuses() {\n const status = { published: [], inRevision: [], unpublished: [], rejected: [] };\n\n return new Promise(async (resolve, reject) => {\n try {\n const response = await request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences`);\n if (response.data) {\n resolve(response.data.reduce((curr, next) => {\n curr[statusMap[next.status]].push(next);\n return curr;\n }, status));\n }\n resolve(status)\n } catch (error) {\n return reject(error)\n }\n })\n\n }\n static async getPendingForApproval(paramsQuery) {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/pendingApproval?${parseParams(paramsQuery)}`);\n }\n static async recent(paginated = false, page = 1, perPage = 15) {\n if (paginated) {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/recents?page=${page}&per_page=${perPage}`);\n } else {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/recents`);\n }\n }\n\n static async samplesGallery(paginated = false, page = 1, perPage = 15) {\n if (paginated) {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/demos?page=${page}&per_page=${perPage}`);\n } else {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/demos`);\n }\n }\n\n static async published(paginated = false, page = 1, perPage = 5) {\n if (paginated) {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/published?page=${page}&per_page=${perPage}`);\n } else {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/published`);\n }\n }\n static async rename (id,body) {\n \n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${id}/alias`,body);\n \n }\n\n static async create(params) {\n return request.post(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences`, {\n body: params\n });\n }\n static async changeTarget(params) {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences`, {\n body: params\n });\n }\n static async clone(params) {\n return request.post(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/clone`, {\n body: params\n });\n }\n static async update(params, id) {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${id}`, {\n body: params\n });\n }\n\n static async delete(id) {\n return request.delete(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${id}`)\n }\n static async activate(id) {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${id}`, {\n body: { active: 1 }\n });\n }\n static async deactivate(id) {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${id}`, {\n body: { active: 0 }\n });\n }\n static async enableVRMode(id) {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${id}`, {\n body: { vr_mode_compatible: 1 }\n });\n }\n static async disableVRMode(id) {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${id}`, {\n body: { vr_mode_compatible: 0 }\n });\n }\n static async expirate(id,expiration_date) {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${id}/expirate`, {\n body: { \n expiration_date,\n }\n });\n }\n static async search(value) {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences?name=${value}`);\n }\n static async migrate(campaign_id,company_id,experience_id, new_campaign_name = '') {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${experience_id}/migrate`,\n {\n body: {\n campaign: {\n id: campaign_id,\n name: new_campaign_name,\n },\n company_id: company_id \n }\n }\n );\n }\n\n static async createModelViewExperience( params ) {\n return request.postJson(`${process.env.REACT_APP_MOES_ENDPOINT}/modelview`, {\n body: params\n });\n }\n static async ChangeLoadingImage( experience_id,params ) {\n return request.put(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${experience_id}/change-loading-img`, {\n body: params\n });\n }\n static async ExperienceAd(experienceTypeId,experience_id,isAd,publicAlias ) {\n if(experienceTypeId == \"5\"){\n //Modificar extras desde cletus\n const update = new FormData()\n update.append(\"isAd\", isAd) \n await CustomMonoriel.updateCustomMonorielConfig(publicAlias,update)\n }\n return request.postJson(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${experience_id}/experience-ad`, {\n body: {\n isAd,\n experienceTypeId,\n publicAlias\n }\n });\n }\n}\nexport default ExperienceService;\n","import request from '../utils/request';\nimport ExperiencesServices from './Experience';\nimport moment from 'moment';\n\nconst localRoutProject = process.env.REACT_APP_LOCAL_ROUTE_PROJECT ? 'campaigns' : 'projects';\n\nclass CampaignService {\n static async list() {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/${localRoutProject}`);\n }\n\n static async listCampaings() {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/${localRoutProject}`);\n }\n\n static async migrateCampaign(selectedCampaign, selectedUser) {\n return request.postJson(`${process.env.REACT_APP_MOES_ENDPOINT}/campaigns/${selectedCampaign}/migrate`, {\n body: {id: selectedUser.id}\n });\n }\n\n static async listWithExperiences(userId) {\n let url = `${process.env.REACT_APP_MOES_ENDPOINT}/${localRoutProject}?with_experiences=1`;\n if (userId)\n url = url.concat(`&user_id=${userId}`);\n try {\n const data = await request.get(url);\n return {data};\n } catch (error) {\n Promise.reject(error);\n }\n\n }\n\n static async listWithoutExperiences(userId){\n let url = `${process.env.REACT_APP_MOES_ENDPOINT}/${localRoutProject}?with_experiences=0`;\n if (userId)\n url = url.concat(`&user_id=${userId}`);\n try {\n const data = await request.get(url);\n return {data};\n } catch (error) {\n Promise.reject(error);\n }\n }\n\n static async listWithExperiencesRecent() {\n try {\n const [campaigns, experiences] = await Promise.all([\n CampaignService.list(),\n ExperiencesServices.list()\n ]);\n experiences.data.map((exp) => {\n return {...exp, hide: false}\n });\n // TODO: check better approach to get experiences by campaings\n campaigns.map((campaign) => {\n campaign.experiences = experiences.data.filter((experience) => {\n\n return experience.campaign.id === campaign.id && moment(experience.updated_at).isAfter(moment().subtract('1 hour'))\n });\n return campaign;\n });\n const cmapaignsData = campaigns.filter((campaign) => {\n return campaign.experiences.length;\n });\n return Promise.resolve({data: cmapaignsData})\n } catch (error) {\n Promise.reject(error);\n }\n\n }\n\n static async listWithExperiencesPublished() {\n try {\n const [campaigns, experiences] = await Promise.all([\n CampaignService.list(),\n ExperiencesServices.list()\n ]);\n experiences.data.map((exp) => {\n return {...exp, hide: false}\n });\n // TODO: check better approach to get experiences by campaings\n campaigns.map((campaign) => {\n campaign.experiences = experiences.data.filter((experience) => {\n\n return experience.campaign.id === campaign.id && experience.status === 'PUBLISHED'\n });\n return campaign;\n });\n const cmapaignsData = campaigns.filter((campaign) => {\n return campaign.experiences.length;\n });\n return Promise.resolve({data: cmapaignsData})\n } catch (error) {\n Promise.reject(error);\n }\n\n }\n\n static async get(id, userId) {\n try {\n const campaigns = await CampaignService.listWithExperiences(userId);\n const data = campaigns.data.filter((campaign) => {\n return campaign.id === parseInt(id)\n });\n return Promise.resolve(data[0]);\n } catch (error) {\n return Promise.reject(error);\n }\n\n }\n\n static async editCampaign(params, id) {\n try {\n request.put(`${process.env.REACT_APP_KWM_ENDPOINT}/projects/${id}`, {\n body: params\n });\n return request.put(`${process.env.REACT_APP_KWM_ENDPOINT}/campaigns/${id}`, {\n body: params\n });\n } catch (error) {\n return Promise.reject(error);\n }\n }\n\n static async removeCampaign(id) {\n return request.delete(`${process.env.REACT_APP_MOES_ENDPOINT}/campaigns/${id}`);\n }\n}\n\nexport default CampaignService;\n","import React, { memo, useState, useEffect } from 'react'\nimport ReactDOM from 'react-dom';\nimport { Dialog, DialogTitle, DialogContent, DialogActions, DialogButton } from '@rmwc/dialog';\nimport { useTranslate } from 'react-polyglot';\n\nimport Icon from '../icon';\n\nimport '../actionsDialog/actionsDialog.scss';\nimport ActionButtons from '../actionsDialog/ActionButtons';\n// import '@material/dialog/dist/mdc.dialog.css';\n// import '@material/button/dist/mdc.button.css';\n// import '@material/ripple/dist/mdc.ripple.css';\n\nconst Modal = function Modal(props) {\n const modalEl = document.getElementById('dialog');\n const [open, setOpen] = useState(false);\n const [changeStep, setChangeStep] = useState(false);\n const [componentValue, setComponentValue] = useState(null);\n const [back, setBack] = useState(0);\n const t = useTranslate();\n\n useEffect(() => {\n if (props.startHidden !== true) {\n setOpen(true)\n }\n }, [])\n\n async function execDialogfunction() {\n\n if (props.action && props.componentKey) {\n try {\n if (componentValue) {\n await props.action(componentValue);\n\n } else {\n await props.action(props.componentData);\n }\n props.onClose(true);\n setOpen(false);\n } catch (error) {\n props.onClose();\n setOpen(false);\n }\n }\n\n }\n function handleDialogChange(value) {\n\n setComponentValue(value);\n\n }\n function backHandler() {\n setBack(back + 1);\n }\n function finishHandler() {\n props.onClose(true);\n setOpen(false);\n }\n return ReactDOM.createPortal(\n {\n\n\n if (props.showCmp) {\n\n props.showCmp(false)\n }\n\n props.onClose();\n setOpen(false);\n\n\n }}\n className={props.full ? 'dialog-full' : 'dialog-normal'}\n {...props.style}\n >\n \n {props.title}\n {(props.showback && changeStep) &&\n\n < Icon name={'arrow-left'} className=\"cursor\" onClickFn={() => {\n backHandler();\n }} />\n }\n {\n if (!props.allwaysShow) {\n props.onClose();\n setOpen(false)\n }\n\n }} />\n\n \n \n {props.component &&\n //mandamos ahora setOpen y submitHandler para manejar la logica DESDE EL COMPONENTE.\n //setOpen se mandaria porque no quiero cerrar el dialogo si no subo ningun target\n //submithandle es execDialogFunction que gestiona todo lo mismo, con el mismo comportamiento\n //solo que ahora lo tenemos como una funcion sin llamar, esperando para ejecutarla CUANDO QUERAMOS.\n {\n if (val) {\n setChangeStep(false)\n } else {\n setChangeStep(true)\n }\n }} />\n }\n \n {!props.buttonLess &&\n \n }\n \n , modalEl)\n}\n\nModal.propTypes = {\n\n}\n\nexport default Modal\n","import React, { memo } from 'react'\nimport PropTypes from 'prop-types'\n\nconst Confirm = memo(function Confirm({ data: { msg } }) {\n return (\n
\n

{msg}

\n
\n )\n})\n\nConfirm.propTypes = {\n msg: PropTypes.string.isRequired\n}\n\nexport default Confirm;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport AppContext from '../app/AppContext';\n\nconst check = (userGroups, allowedGroups) => userGroups.some(userGroup => allowedGroups.includes(userGroup));\n\nfunction CheckPermision({ component, groups, fallbackComponent = null }) {\n const context = useContext(AppContext)\n\n return (\n <>\n {check(context.userGroups, groups, fallbackComponent)? component : fallbackComponent}\n \n );\n}\n\nCheckPermision.propTypes = {\n component: PropTypes.element.isRequired,\n groups: PropTypes.arrayOf(PropTypes.string.isRequired),\n fallbackComponent: PropTypes.element.isRequired\n}\n\nCheckPermision.check = check;\n\nexport default CheckPermision;\n","export default class UserWithoutGroupsException extends Error {\n constructor(message) {\n super(message);\n this.code = \"UserWithoutGroupsException\";\n }\n}","import UserWithoutGroupsException from \"./Errors/UserWithoutGroupsException\";\n\nexport const userGroups = [\n 'CamonappAdminUsers',\n 'CamonappSalesUsers',\n 'CamonappUsers',\n 'CamonappUsersCommon',\n 'CompanyUsers',\n 'EducationalUsers',\n 'FreelanceUsers',\n 'ProfessorsUsers',\n 'StudentsUsers'\n]\nexport const userGroupsObject = {\n CamonappAdminUsers: 'CamonappAdminUsers',\n CamonappSalesUsers: 'CamonappSalesUsers',\n CamonappUsers: 'CamonappUsers',\n CamonappUsersCommon: 'CamonappUsersCommon',\n CompanyUsers: 'CompanyUsers',\n EducationalUsers: 'EducationalUsers',\n FreelanceUsers: 'FreelanceUsers',\n FreelancePaidUsers: 'FreelancePaidUsers',\n ProfessorsUsers: 'ProfessorsUsers',\n StudentsUsers: 'StudentsUsers'\n}\n\n\nexport function checkUserGroupsfromGroups(group) {\n return userGroups.find((g) => { return g === group });\n}\n\nexport function checkUserGroups(groups, group) {\n return groups.find((g) => { return g === group });\n}\n\nexport function validateUserHasGroups(groups) {\n if (groups === undefined || groups.length === 0) {\n throw new UserWithoutGroupsException();\n }\n}","import React, {createContext, useEffect, useState} from 'react';\n\nexport const UserContext = createContext();\n\nconst UserProvider = (props) => {\n\n const [navLinks, setNavLinks] = useState([]);\n const [userData, setUserData] = useState({\n id: '',\n username: ''\n });\n return ({props.children})\n};\n\nexport default UserProvider;","import React from 'react';\nimport {ReactSVG} from \"react-svg\";\n\nconst PrevArrowComponent = (props) => {\n const {className, style, onClick} = props;\n return (\n \n \n \n );\n};\n\nexport default PrevArrowComponent;","import React from 'react';\nimport {ReactSVG} from \"react-svg\";\n\nconst NextArrowComponent = (props) => {\n const {className, style, onClick} = props;\n return (\n \n \n \n );\n};\n\nexport default NextArrowComponent;","import { useEffect, useRef, useState } from 'react';\n\nexport default options => {\n const [show, setShow] = useState(false);\n const element = useRef(null)\n\n useEffect(() => {\n const observer = new IntersectionObserver(observedEntries => {\n\n const { isIntersecting } = observedEntries[0]\n if (isIntersecting) {\n setShow(true);\n observer.disconnect()\n }\n });\n\n observer.observe(element.current)\n }, [element])\n return [show, element];\n};\n","import styled from 'styled-components';\n\n\nexport const CardWrapper = styled.div`\n min-width: 250px;\n margin-bottom: 18px;\n`","import React, { memo, useState, useEffect } from 'react'\nimport ReactDOM from 'react-dom';\nimport { Snackbar, SnackbarAction } from '@rmwc/snackbar';\nimport PropTypes from 'prop-types'\nimport '@material/snackbar/dist/mdc.snackbar.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nconst Notification = memo(function Notification(props) {\n const [open, setOpen] = useState(true);\n const modalEl = document.getElementById('notification');\n\n const onClose = () => {\n setOpen(false);\n if (props.onClose) props.onClose();\n }\n\n return ReactDOM.createPortal(\n }\n />, modalEl)\n})\n\nNotification.propTypes = {\n message: PropTypes.string\n\n}\n\nexport default Notification\n","import React, { useState, useEffect } from 'react';\nimport { TextField } from '@rmwc/textfield';\nimport { useTranslate } from 'react-polyglot';\n\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\nfunction ExpName(params) {\n const [value, setValue] = useState(params ? params.data : '');\n const t = useTranslate();\n\n useEffect(() => {\n if (value === params.data) {\n setValue(params.data);\n\n }\n })\n\n return (\n { setValue(e.target.value); }} onBlur={(e) => { params.onChange({ name: value }) }} />\n )\n}\n\nexport default ExpName;","import React, { memo } from 'react'\nimport PropTypes from 'prop-types';\nimport { useTranslate } from 'react-polyglot';\n\nconst Sure = memo(function Sure(props) {\n const t = useTranslate();\n return (\n
\n {t('pages.account.sureMsg')}\n
\n )\n})\n\nSure.propTypes = {\n\n}\n\nexport default Sure\n","import styled from 'styled-components';\n// TODO: se mantiene como legacy el status ON_REVIEW pero ya no se usa, en cualquier lo momento lo podemos deprecar\n\nconst statusColor = {\n NOT_PUBLISHED: '#0DD391',\n PUBLISHED: '#3487F0',\n ON_REVIEW: '#3487F0',\n REJECTED: '#EF0000',\n};\nexport const MarkerContainer = styled.div`\n position : absolute;\n display: flex;\n width: 100%;\n top: 4px;\n left: 4px;\n \n`\nexport const MarkerContainerOffline = styled.div`\n position : absolute;\n display: flex;\n width: 100%;\n top : 5px;\n height: 40px;\n`\n\nexport const TypeWrapper = styled.div`\n background-color: #3487F0;\n width: 26px;\n height: 24px;\n margin-top: 4px;\n margin-left: 4px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n\n`;\n\nexport const TypeWithPlatformWrapper = styled.div`\n background-color: #fff;\n width: 71px;\n height: 24px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n`;\n\nexport const TextPlatform = styled.p`\n font-family: Public Sans;\n font-style: normal;\n font-weight: bold;\n font-size: 11px;\n line-height: 16px;\n margin-top:4px;\n color: #1675e0 !important;\n width:32px;\n`;\n\nexport const AppOrWebWrapper = styled.div`\n background-color: #fff;\n width: 26px;\n height: 24px;\n margin: 0 4px 0 4px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n\n`;\n /* #c9e4fd; */\nexport const VRModeWrapper = styled.div`\n background-color: #c9e4fd;\n width: 28px;\n height: 24px;\n position: absolute;\n right: 33px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n text-align: center;\n padding-right: 4px;\n}\n`;\n\nexport const StatusOfExperience = styled.div`\n background-color: ${props => statusColor[props.status]};\n width: 26px;\n height: 24px;\n margin-left: 125px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n z-index: 1;\n`;\n\nexport const StatusWrapper = styled.div`\n background-color: ${props => statusColor[props.status]};\n background-color: #fff;\n width: 26px;\n height: 24px;\n margin: 0 5px 0 5px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n margin-left:105px;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n`;\n\nexport const ButtonWrapper = styled.div`\n background-color: red;\n width: 26px;\n height: 24px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n margin-top: 50px;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n`;\n","import React from 'react';\nimport {ReactSVG} from \"react-svg\";\n\nconst ImageWithBackgroundComponent = ({iconSrc, aditionalClass, hasMargin}) => {\n return (\n \n );\n};\n\nexport default ImageWithBackgroundComponent;","import React, {memo, Fragment} from 'react'\nimport {\n MarkerContainer,\n StatusOfExperience,\n TypeWithPlatformWrapper,\n TextPlatform,\n MarkerContainerOffline,\n VRModeWrapper\n} from './ExperienceTypeStyles.js'\nimport ImageWithBackgroundComponent from \"./ImageWithBackgroundComponent\";\nimport {Button} from \"rsuite\";\n\nconst ExperienceType = memo(function ExperienceType({experience, visible, goToEditor}) {\n\n const getExperienceTypeIcon = () => {\n switch (experience.experienceTypeId) {\n case 1:\n return \"/images/new-immersive-track-mini.svg\";\n case 2:\n return \"/images/new-world-track-mini.svg\";\n case 3:\n return \"/images/new-image-track-mini.svg\";\n case 4:\n return \"/images/new-face-track-mini.svg\";\n case 5:\n return \"/images/new-ar.svg\";\n }\n };\n\n const getPlatformIcon = () => {\n switch (experience.platform) {\n case 'app':\n return 'APP';\n case 'web':\n return '360';\n default:\n return '';\n }\n };\n\n const getIconForStatus = () => {\n // TODO: se mantiene como legacy el status ON_REVIEW pero ya no se usa, en cualquier lo momento lo podemos deprecar\n switch (experience.status) {\n case 'NOT_PUBLISHED':\n return '/images/notpublished-status.svg';\n case 'PUBLISHED':\n return '/images/published-status.svg';\n case 'ON_REVIEW':\n return '/images/published-status.svg';\n case 'REJECTED':\n return '/images/close-circle-line.svg'\n }\n const statusMap = {\n NOT_PUBLISHED: 'pencil-ruler',\n PUBLISHED: 'rocket',\n ON_REVIEW: 'pending-timer',\n REJECTED: 'close-circle-1',\n };\n return statusMap[experience.status];\n };\n return (\n \n \n \n \n {getPlatformIcon()} \n \n { experience.vr_mode_compatible &&\n \n VR\n \n }\n \n \n \n \n
\n {!!experience.is_ad && <>\n \n \n AD \n \n }\n
\n \n \n \n
\n )\n});\n\n\nexport default ExperienceType\n","import React from 'react';\nimport './ErrorMessage.scss';\n\nconst ErrorMessage = ({message}) => {\n return (\n

{message}

\n );\n};\n\nexport default ErrorMessage;","import React, { memo, useState, useEffect } from 'react';\nimport { Button } from '@rmwc/button';\nimport PropTypes from 'prop-types';\nimport { useTranslate } from 'react-polyglot';\n\nimport './changeTarget.scss';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\n\nimport ErrorMessage from '../ErrorMessage/ErrorMessage'\n\nconst ChangeTarget = memo(function ChangeTarget(props) {\n const [value, setValue] = useState('');\n const [img, setImg] = useState(props.data);\n const [filePath, setFilePath] = useState('');\n\n const [errorState, setErrorState] = useState(false)\n const [message, setMessage] = useState('');\n const t = useTranslate();\n\n useEffect(() => {\n if (value === props.data) {\n setValue(props.data);\n }\n })\n function triggerFile(e) {\n e.preventDefault();\n document.getElementById('fileInput').click();\n }\n function getFilePath(file) {\n let validFileTypes = ['JPEG','jpeg', 'jpg', 'JPG'];\n let fileExtension = file.files[0] ? file.files[0].name.split('.').pop() : '';\n if (file.files[0] && validFileTypes.includes(fileExtension)) {\n const url = URL.createObjectURL(file.files[0]);\n setErrorState(false);\n setMessage('');\n setFilePath(url);\n } else {\n if (!validFileTypes.includes(fileExtension)){\n setErrorState(true);\n setMessage(t('experiences.changeTarget.validFormat'))\n }\n setValue(false);\n }\n }\n return (\n
\n
\n
\n { setValue(e.target.value); getFilePath(e.target); props.onChange(e.target.files[0]) }} className=\"img-selector-input\" />\n {!value &&\n
\n

\n {t('experiences.addOrDragTarget')}\n

\n
\n\n }\n {value &&\n {'fileValue'}\n }\n
\n {errorState ? : null }\n\n \n \n \n
\n )\n})\n\nChangeTarget.propTypes = {\n\n}\n\nexport default ChangeTarget\n","import React, { memo, useEffect, useState, useContext } from 'react'\nimport { TextField } from '@rmwc/textfield';\nimport { Button } from '@rmwc/button';\nimport { useTranslate } from 'react-polyglot';\n\nimport ErrorMessage from \"../ErrorMessage/ErrorMessage\";\nimport AppContext from \"../app/AppContext\";\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport { DialogActions, DialogButton } from 'rmwc';\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\nconst CloneExp = memo(function CloneExp(props) {\n const [value, setValue] = useState('');\n const [name, setName] = useState('');\n const [filePath, setFilePath] = useState('');\n const t = useTranslate();\n\n const [errorState, setErrorState] = useState(false);\n const [message, setMessage] = useState('');\n const [fileValue, setFileValue] = useState({});\n const context = useContext(AppContext);\n useEffect(() => {\n return () => {\n setFilePath('');\n setValue('');\n }\n }, [])\n\n useEffect(() => {\n if (value === props.data.name) {\n setValue(props.data.name);\n }\n });\n\n function triggerFile(e) {\n e.preventDefault();\n document.getElementById('fileInput').click();\n }\n\n function getFilePath(file) {\n let validFileTypes = ['JPEG', 'jpeg', 'jpg', 'JPG'];\n let fileExtension = file.files[0] ? file.files[0].name.split('.').pop() : '';\n if (file.files[0] && validFileTypes.includes(fileExtension)) {\n const url = URL.createObjectURL(file.files[0]);\n setErrorState(false);\n setMessage('');\n setFilePath(url);\n } else {\n if (!validFileTypes.includes(fileExtension)) {\n setErrorState(true);\n setFileValue({});\n setMessage('Tienes que agregar una imagen con formato valido (.jpg)')\n }\n setValue(false);\n }\n }\n\n return (\n <>\n
\n {\n setName(e.target.value)\n }}/>\n {errorState ? : null}\n {props.data.hasTarget &&
\n {\n setValue(e.target.value);\n setFileValue(e.target.files[0]);\n getFilePath(e.target);\n }} className=\"img-selector-input\"/>\n {!value &&\n
\n

\n {t('experiences.addOrDragTarget')}\n

\n
\n\n }\n {value &&\n {'fileValue'}\n\n }\n
}\n
\n {\n e.preventDefault();\n props.setOpen(false);\n }}\n onClickAccept={(e) => {\n e.preventDefault();\n if (!name) {\n setErrorState(true);\n setMessage('Es necesario agregar un nombre de experiencia')\n } else {\n if (props.data.hasTarget && !fileValue.name) {\n setErrorState(true);\n setMessage('Es necesario agregar un target')\n } else {\n props.setOpen(false);\n setErrorState(false);\n props.actionHandler({value: fileValue, name: name, key: props.keyData, isDemo: props.isDemo});\n }\n }\n }}\n >\n \n )\n})\n\n\nexport default CloneExp\n","import React, { memo } from 'react';\nimport './SeeTarget.scss';\n\nconst SeeTarget = memo(function SeeTarget(props) {\n return (\n
\n \"Target\"\n
\n )\n})\n\n\n\nexport default SeeTarget\n","import React, { memo, useState, useEffect } from 'react'\nimport { Select } from '@rmwc/select';\n\nimport '@rmwc/select/select.css';\nimport '@material/select/dist/mdc.select.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/list/dist/mdc.list.css';\nimport '@material/menu/dist/mdc.menu.css';\nimport '@material/menu-surface/dist/mdc.menu-surface.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport PropTypes from 'prop-types'\n\nconst SelectControl = memo(function (props) {\n const [value, setValue] = useState('');\n\n useEffect(() => {\n if (!value) {\n setValue(props.value) \n }\n }, [props.value])\n\n const onChange = (e) => {\n setValue(e.target.value);\n e.target.name = props.name;\n props.onChange(e);\n }\n\n return (\n { e.target.name = props.name; props.onBlur(e) }}\n className={props.className}\n >\n {props.children}\n \n )\n})\n\nSelectControl.propTypes = {\n label: PropTypes.string,\n options: PropTypes.array,\n onChange: PropTypes.func,\n className: PropTypes.string\n}\n\nexport default SelectControl\n","import React, { memo, useEffect } from 'react'\nimport PropTypes from 'prop-types'\n\nconst customOption = memo(function customOption(props) {\n const {\n children,\n className,\n cx,\n getStyles,\n isDisabled,\n isFocused,\n isSelected,\n innerRef,\n innerProps,\n } = props;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (\n
\n {children}\n
\n )\n})\n\n\nexport default customOption\n","import React, { useEffect, useState } from 'react';\n\nimport Creatable from 'react-select/creatable'\nimport CustomOption from './customOption';\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/dialog/dist/mdc.dialog.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/menu/dist/mdc.menu.css';\nimport '@material/menu-surface/dist/mdc.menu-surface.css';\nimport '@material/list/dist/mdc.list.css';\nimport './dropInput.scss';\nimport { useTranslate } from 'react-polyglot';\n\n\nfunction DropInput(props) {\n const [displaySurface, setDisplaySurface] = useState(false);\n const [typedValue, setTypedValue] = useState('');\n const [value, setValue] = useState('');\n const [id, setId] = useState(null);\n\n const t = useTranslate();\n\n useEffect(() => {\n if (props.project) {\n addToProject.apply(props.project)\n }\n }, [])\n\n function onChange(e) {\n\n const { name, value } = e.target;\n setValue(value)\n setTypedValue(value)\n props.onChangeFn({\n name: value,\n id\n })\n\n }\n function addToProject(e) {\n if (e) e.persist();\n\n const { name } = this;\n setValue(name);\n setId(name);\n props.onChangeFn({\n name,\n id\n })\n }\n function check(e) {\n\n\n const project = props.data[e.detail];\n setValue(project.name);\n setId(project.name);\n props.onChangeFn({\n name: project.name,\n id\n })\n\n }\n function setOther() {\n const project = this;\n setValue(project.name);\n setId(project.name);\n props.onChangeFn({\n name: project.name,\n id\n })\n\n }\n function optionsAdapter(data) {\n return data.map(project => {\n return {\n value: project.id,\n label: project.name\n }\n })\n }\n function change(val) {\n if (val.__isNew__) {\n props.onChangeFn({\n name: val.label,\n })\n } else {\n props.onChangeFn({\n name: val.label,\n id: val.value\n })\n }\n\n }\n return (\n \n )\n}\n\nexport default DropInput;","import DropInput from './DropInput';\nexport default DropInput;","import React, { useState, useEffect } from 'react';\nimport { useTranslate } from 'react-polyglot';\n\nimport SelectControl from '../common/select';\nimport campaignService from '../../services/Campaign';\nimport DropInput from '../dropInput';\nimport Icon from '../icon';\nimport ErrorMessage from \"../ErrorMessage/ErrorMessage\";\n\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\nimport { Button } from '@rmwc/button';\nimport { DialogActions, DialogButton } from 'rmwc';\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\nfunction MigExp(props) {\n const [campaign, setCampaign] = useState(null);\n const [campaigns, setCampaigns] = useState([]);\n\n const t = useTranslate();\n\n const [isLoading, setIsLoading] = useState(false)\n\n useEffect(() => {\n fetchCampaigns();\n }, [])\n\n function fetchCampaigns() {\n setIsLoading(true);\n campaignService.list(false)\n .then((campaingsResponse) => {\n const campaingsMapped = campaingsResponse.filter(c => c.id !== props.data.campaign.id)\n setCampaigns(campaingsMapped);\n setIsLoading(false);\n });\n }\n\n return (\n <>\n
\n ({...base, color: \"#3487F0\", paddingRight: '30px'}),\n menuPortal: (base) => ({ ...base, zIndex: 9999 })\n },\n isLoading: isLoading\n }}\n label=\"Crear un proyecto o agrega la experiencia a un proyecto existente\"\n outlined\n className={'new-experience-file-input'}\n icon={}\n onChangeFn={e => {\n setCampaign(e)\n props.onChange({\n campaign: {\n id: e.id,\n name: e.name\n }\n });\n }}\n data={campaigns}\n project={campaign}\n />\n
\n {\n e.preventDefault();\n props.setOpen(false);\n }}\n onClickAccept={(e) => {\n e.preventDefault();\n props.setOpen(false);\n\n props.actionHandler({\n value: {},\n key: props.keyData,\n campaign: {\n id: campaign ? campaign.id : '',\n name: campaign ? campaign.name : ''\n }\n });\n }}\n >\n \n )\n}\n\nexport default MigExp;","import React, { memo } from 'react';\nimport { useTranslate } from 'react-polyglot';\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\nconst DeleteExp = memo(function DeleteExp(props) {\n const t = useTranslate();\n return (\n
\n

{t('experiences.deleteExp.msg')}

\n

{t('experiences.deleteExp.msgBody')}

\n {\n e.preventDefault();\n props.setOpen(false);\n }}\n onClickAccept={(e) => {\n e.preventDefault();\n props.actionHandler(props.keyData);\n }\n }\n >\n
\n )\n})\n\n\nexport default DeleteExp\n","import React, {useContext, useEffect} from 'react';\nimport {\n AutoComplete,\n Button,\n Icon,\n InputGroup,\n Modal,\n SelectPicker,\n ControlLabel,\n FormGroup,\n Form\n} from \"rsuite\";\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport campaignService from \"../../services/Campaign\";\nimport { useTranslate } from 'react-polyglot';\n\nconst MigrationUserExperienceDialogComponent = () => {\n\n const {\n openMigrateExperienceDialog, setOpenMigrateExperienceDialog, users,\n onSearch, setSelectedUser, enabled, setEnabled, findUser, campaignId,\n setCampaignId,\n userId,\n setUserId, selectedUser,\n setProjects,\n projects,\n onMigrateUserExperience,\n companyId,\n setCompanyId\n } = useContext(MigrateUserDialogContext);\n const t = useTranslate();\n\n useEffect(() => {\n if (selectedUser) {\n let user = findUser();\n setUserId(user.id);\n setCompanyId(user.company_id)\n }\n }, [selectedUser]);\n\n useEffect(() => {\n if (userId) {\n const getProjects = async () => {\n let response = await campaignService.listWithoutExperiences(userId);\n let dataFormatted = response.data.map(e => ({\n \"label\": e.name,\n \"value\": e,\n }));\n setProjects(dataFormatted)\n\n };\n getProjects();\n }\n }, [userId]);\n\n useEffect(() => {\n setEnabled(campaignId && userId)\n }, [campaignId, userId]);\n\n return (\n
\n {\n setOpenMigrateExperienceDialog(false)\n }}>\n \n {t('experiences.actions.migExp')}\n \n \n
\n \n {t('common.labels.user')}\n \n {\n setSelectedUser(e.value);\n }}/>\n \n \n \n \n \n \n {t('common.labels.project')}\n {\n if (e) {\n setCampaignId(e.id);\n } else {\n setCampaignId(null);\n }\n }}\n />\n \n
\n
\n \n \n \n \n
\n
\n );\n};\n\nexport default MigrationUserExperienceDialogComponent;","import request from '../utils/request';\nimport { parseParams } from '../utils/url';\n\nclass UserService {\n static async getProfile() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/me`);\n }\n\n static async getUsers(paginate = false, page = 1, perPage = 5, paramsQuery) {\n const baseUrl = `${process.env.REACT_APP_KWM_ENDPOINT}/users`;\n if (paginate) {\n return request.get(`${baseUrl}?page=${page}&per_page=${perPage}&${parseParams(paramsQuery)}`);\n } else {\n return request.get(`${baseUrl}?${parseParams(paramsQuery)}`);\n }\n }\n //\n static async getUser(id) {\n const url = `${process.env.REACT_APP_KWM_ENDPOINT}/users/${id}`;\n const users = await request.get(url);\n const user = users.data.find((u) => { return u.id === id });\n return Promise.resolve(user);\n }\n static async signUp(params) {\n return request.postJson(`${process.env.REACT_APP_KWM_ENDPOINT}/signup`, {\n body: params\n }, false);\n }\n static async addUser(params, companyid) {\n\n return request.postJson(`${process.env.REACT_APP_KWM_ENDPOINT}/companies/${companyid}/users`, {\n body: params\n });\n }\n static async updateUser(params, companyid, userId) {\n return request.put(`${process.env.REACT_APP_KWM_ENDPOINT}/companies/${companyid}/users/${userId}`, {\n body: params\n });\n }\n static async updateProfile(params, companyid, userId) {\n return request.put(`${process.env.REACT_APP_KWM_ENDPOINT}/companies/${companyid}/users/${userId}`, {\n body: params\n });\n }\n\n static async updateSecProfile(params, companyid, userId) {\n return request.put(`${process.env.REACT_APP_KWM_ENDPOINT}/companies/${companyid}/users/${userId}/changePassword`, {\n body: params\n });\n }\n\n\n\n static async getProfesors() {\n const users = await UserService.getUsers(false);\n\n const profesors = users.data.filter((user) => {\n return user.userType.name === 'PROFESSOR';\n\n });\n\n return Promise.resolve({\n data: profesors\n });\n }\n static async confirmUser(params) {\n const users = await request.postJson(`${process.env.REACT_APP_KWM_ENDPOINT}/confirm`, {\n body: params\n }, false);\n\n return Promise.resolve(users);\n }\n static async deleteAccount(profileId) {\n return request.delete(`${process.env.REACT_APP_KWM_ENDPOINT}/users/${profileId}`)\n }\n static async disableUser(userId) {\n return request.delete(`${process.env.REACT_APP_KWM_ENDPOINT}/users/${userId}/disable`)\n }\n static async updateLang(user, lang) {\n return request.postJson(`${process.env.REACT_APP_KWM_ENDPOINT}/users/${user}/updateLang`, {\n body: { lang }\n })\n\n }\n}\nexport default UserService;\n","import React, {createContext, useContext, useEffect, useState} from 'react';\nimport MigrationUserExperienceDialogComponent from \"../components/actionsDialog/MigrationUserExperienceDialogComponent\";\nimport userService from \"../services/User\";\nimport ExperienceService from \"../services/Experience\";\nimport AppContext from \"../components/app/AppContext\";\n\nexport const MigrateUserDialogContext = createContext();\n\nconst MigrateUserDialogProvider = (props) => {\n const context = useContext(AppContext);\n const [query, setQuery] = useState('');\n const [openMigrateExperienceDialog, setOpenMigrateExperienceDialog] = useState(false);\n const [users, setUsers] = useState([]);\n\n const [dataForSearch, setDataForSearch] = useState({});\n const [selectedUser, setSelectedUser] = useState('');\n const [enabled, setEnabled] = useState(false);\n const [campaignId, setCampaignId] = useState('');\n const [userId, setUserId] = useState('');\n const [companyId, setCompanyId] = useState('');\n const [projects, setProjects] = useState([]);\n const [projectsSearch, setProjectsSearch] = useState([]);\n const [experienceId, setExperienceId] = useState([]);\n\n const MigrationUserExperienceDialog = () => (\n \n );\n\n const onMigrateUserExperience = async () => {\n context.setPage({\n loading: true\n });\n try {\n await ExperienceService.migrate(campaignId,companyId, experienceId);\n context.setPage({\n loading: false\n });\n window.location.reload()\n } catch (error) {\n console.log(error);\n context.setPage({\n loading: false\n });\n }\n };\n\n const findUser = () => {\n let user = dataForSearch.find(e => e.string === selectedUser);\n if (user) {\n return {\n id: user.value.id,\n company_id: user.value.company.id\n }\n }\n };\n const onSearch = (e) => {\n setQuery(e);\n if (e.length >= 4) {\n userService.getUsers(false, 1, 20, {name: query, surname: query, email: query})\n .then(res => {\n let formattedData = res.data.map((user) => {\n return `${user.surname ? user.surname : ''} ${user.name ? user.name : ''} (${user.email})`;\n });\n let dataForSearch = res.data.map((user) => {\n return {\n string: `${user.surname ? user.surname : ''} ${user.name ? user.name : ''} (${user.email})`,\n value: user\n }\n });\n setDataForSearch(dataForSearch);\n setUsers(formattedData);\n })\n }\n if (e.length === 0) {\n setUserId('');\n setProjects([]);\n setProjectsSearch([]);\n setCampaignId('');\n }\n };\n\n\n return ({props.children})\n};\n\nexport default MigrateUserDialogProvider;","export default () => {\n const localLang = window.localStorage.getItem('lang')\n if (localLang) {\n return localLang;\n }\n let lang = '';\n if (navigator.languages && navigator.languages.length) {\n lang = navigator.languages[0];\n } else {\n lang = navigator.userLanguage || navigator.language || navigator.browserLanguage || 'en';\n }\n window.localStorage.setItem('lang', lang.split('-')[0]);\n return lang.split('-')[0];\n}\n","import React, {useContext, useEffect, useRef, useState} from 'react';\nimport {AutoComplete, Button, ControlLabel, Form, FormGroup, Icon, InputGroup, Modal, SelectPicker} from \"rsuite\";\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport {useTranslate} from \"react-polyglot\";\nimport QRCode from \"easyqrcodejs\";\nimport {Loader} from \"rsuite\";\nimport { Tooltip, Whisper } from 'rsuite';\n\nimport {CopyToClipboard} from 'react-copy-to-clipboard';\n\nimport './qrDialog.scss';\n\nconst QrDialogComponent = () => {\n const t = useTranslate();\n const {openQRDialog, setOpenQRDialog, dialogData} = useContext(QRDialogContext);\n const {url, published, shortUrl} = dialogData;\n const [loading, setLoading] = useState(true);\n const divElement = useRef(null);\n const [copied, setCopied] = useState(false);\n\n useEffect( () => {\n setLoading(true);\n }, [])\n\n const speaker = (\n \n \n {\n t('experiences.QRDialog.tooltipMessage')\n }\n \n );\n\n return (\n
\n {\n setLoading(true);\n setTimeout(() => {\n let options = {\n text: url,\n width: 345,\n height: 345,\n colorDark: published ? \"#6DA9F4\" : '#747474',\n };\n /* let father = document.getElementsByClassName('algo')[0];\n let element = document.getElementsByClassName('qrContainer')[0];*/\n new QRCode(divElement.current, options);\n setLoading(false);\n }, 10)\n }}\n size={'xs'}\n show={openQRDialog}\n onHide={() => {\n setOpenQRDialog(false);\n // setLoading(true);\n }}\n >\n \n {t('experiences.QRDialog.QRDialogTitle')}\n \n \n
\n {loading &&\n }\n
\n
\n
\n {/*
\n {loading ? null : ''}\n
*/}\n \n { !shortUrl ? url : shortUrl }\n \n
\n \n
\n \n setCopied(true)}>\n \n \n \n \n setCopied(true)}>\n \n {t('experiences.QRDialog.copyToClipboard')}\n \n\n \n\n \n
\n
\n \n
\n );\n};\n\nexport default QrDialogComponent;","import React, {createContext, useContext, useEffect, useState} from 'react';\nimport QrDialogComponent from \"../components/actionsDialog/QRDialogComponent\";\n\nexport const QRDialogContext = createContext();\n\nconst QRDialogProvider = (props) => {\n const [openQRDialog, setOpenQRDialog] = useState(false);\n const [dialogData, setDialogData] = useState({\n url: '',\n published: false\n });\n const QRDialog = () => ();\n\n return ({props.children})\n};\n\nexport default QRDialogProvider;","import React, {useContext, useEffect, useRef, useState} from 'react';\nimport {useTranslate} from \"react-polyglot\";\nimport {Button, Loader, Modal, Uploader, Icon} from \"rsuite\";\nimport {ChangeTargetDialogContext} from \"../../context/ChangeTargetDialogContext\";\n\n\nconst ChangeTargetComponent = () => {\n const styles = {\n width: '440px',\n height: '320px'\n\n };\n const t = useTranslate();\n const {openChangeTargetDialog, setOpenChangeTargetDialog, payload, setPayload, onChangeTarget} = useContext(ChangeTargetDialogContext);\n const [uploading, setUploading] = React.useState(false);\n const [fileInfo, setFileInfo] = React.useState(null);\n const [fileList, setFileList] = React.useState([]);\n\n const previewFile = (file, callback) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n callback(reader.result);\n };\n reader.readAsDataURL(file);\n };\n\n const validFile = (file) => {\n let validFileTypes = ['JPEG', 'jpeg', 'jpg', 'JPG'];\n let fileExtension = file.name.split('.').pop();\n return !validFileTypes.includes(fileExtension)\n };\n\n const cleanData = () => {\n setFileInfo(null);\n setUploading(false);\n setFileList([]);\n };\n\n return (\n
\n {\n e.stopPropagation();\n setFileInfo(null);\n setOpenChangeTargetDialog(false);\n }}>\n \n {t('experiences.actions.changeTarget')}\n \n \n
\n {\n if (file.length === 0) {\n cleanData()\n } else {\n if (!validFile(file[0].blobFile)) {\n if (file[0].blobFile.size >= 5000000){\n cleanData()\n }else{\n previewFile(file[0].blobFile, value => {\n setFileInfo(value);\n setPayload({...payload, ...{file: file[0].blobFile}})\n });\n }\n } else {\n cleanData()\n }\n }\n }}\n >\n \n
\n )}\n \n \n
\n \n \n \n \n \n \n \n );\n};\n\nexport default ChangeTargetComponent;","import React, {createContext, useContext, useEffect, useState} from 'react';\nimport ChangeTargetComponent from \"../components/actionsDialog/ChangeTargetComponent\";\nimport AppContext from \"../components/app/AppContext\";\nimport ExperienceService from \"../services/Experience\";\nimport {Alert} from \"rsuite\";\nimport {useTranslate} from \"react-polyglot\";\n\nexport const ChangeTargetDialogContext = createContext();\n\nconst ChangeTargetDialogProvider = (props) => {\n const [openChangeTargetDialog, setOpenChangeTargetDialog] = useState(false);\n const [payload, setPayload] = useState({id: '', file: null});\n const ChangeTargetDialog = () => ();\n const context = useContext(AppContext);\n const t = useTranslate();\n const onChangeTarget = async () => {\n try {\n context.setPage({...context.page, loading: true});\n let formData = new FormData();\n formData.append('target', payload.file);\n formData.append('id', payload.id);\n let result = await ExperienceService.update(formData, payload.id);\n if (result) {\n Alert.success(t('Cambio de target exitoso'));\n context.setPage({...context.page, loading: false});\n window.location.reload();\n }\n } catch (e) {\n context.setPage({...context.page, loading: false});\n Alert.error(t('Error al cambiar de target'));\n }\n };\n\n return ({props.children})\n};\n\nexport default ChangeTargetDialogProvider;","import React, {useContext} from 'react';\nimport {useTranslate} from \"react-polyglot\";\nimport {ChangeNameDialogContext} from \"../../context/ChangeNameDialogContext\";\nimport Modal from '../modal/modal';\nimport ActionButtons from './ActionButtons';\nimport CoaTextField from '../textfield';\n\n\nconst ChangeNameForm = (props) => {\n const {name, originalName, onChange, onClickCancel, onClickAccept} = props.data\n const t = useTranslate();\n\n return <>\n
\n \n
\n \n\n\n}\n\nconst ChangeNameComponent = () => {\n const t = useTranslate();\n\n const {\n setOpenChangeDialog,\n openChangeNameDialog,\n changeNameData,\n setDialogChangeNameData,\n onChangeName\n } = useContext(ChangeNameDialogContext);\n return (<>\n { openChangeNameDialog &&\n {\n setDialogChangeNameData({...changeNameData, ...{name: value}})\n },\n onClickCancel: (e) => {\n e.preventDefault();\n setOpenChangeDialog(false);\n },\n onClickAccept: () => {\n setOpenChangeDialog(false);\n onChangeName();\n }\n }}\n onClose={() => {\n setOpenChangeDialog(false);\n }}\n />\n }\n \n );\n};\n\nexport default ChangeNameComponent;","import React, {createContext, useContext, useEffect, useState} from 'react';\nimport ChangeNameComponent from \"../components/actionsDialog/ChangeNameComponent\";\nimport ExperienceService from \"../services/Experience\";\nimport Appcontext from \"../components/app/AppContext\";\n\nexport const ChangeNameDialogContext = createContext();\n\nconst ChangeNameDialogProvider = (props) => {\n const context = useContext(Appcontext);\n const [openChangeNameDialog, setOpenChangeDialog] = useState(false);\n const [changeNameData, setDialogChangeNameData] = useState({\n id: '',\n name: '',\n originalName: ''\n });\n const ChangeNameDialogComponent = () => ();\n\n const onChangeName = async () => {\n const {id, name} = changeNameData;\n try {\n await ExperienceService.update({name}, id);\n if (context.page.refetch) {\n context.page.refetch()\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n return ({props.children})\n};\n\nexport default ChangeNameDialogProvider;","import React, { createContext, useState } from 'react';\n\nconst ShowLoadingContext = createContext()\n\nexport const ShowLoadingProvider = ({children}) => {\n\n const [ showLoading, setShowLoading ] = useState(false)\n const [ overlayStyle, setOverlayStyle ] = useState(\"loading-overlay-full\");\n\n return(\n \n {children}\n \n )\n}\n\n\nexport default ShowLoadingContext;","import React from 'react';\nimport { Button, Modal} from \"rsuite\";\nimport { useTranslate } from 'react-polyglot';\n\n/**\n *\n * @param open\n * @param setOpen\n * @param title\n * @param bodyMessage\n * @param functionHandler en el caso de que cuando se le de al boton de cerrar o se haga el escape ejecute algun handler especifico se realiza\n * @returns {*}\n * @constructor\n */\nconst AlertDialog = ({ \n open,\n setOpen,\n title,\n bodyMessage,\n functionHandler,\n buttonMessage\n }) => {\n const t = useTranslate();\n return (\n
\n {\n setOpen(false)\n }}>\n \n {title}\n \n \n {bodyMessage}\n \n \n \n \n \n
\n );\n};\n\nexport default AlertDialog;","import React, { useEffect, useState, useContext } from 'react';\nimport { Button } from '@rmwc/button';\nimport './style.scss'\nimport { useTranslate } from 'react-polyglot';\nimport AlertDialog from '../general/AlertDialog';\n\nfunction InputFile (props) {\n const [fileValue, setFileValue] = useState(false);\n const [inputFileValue, setInputFileValue] = useState('');\n const [filePath, setFilePath] = useState('');\n const {handleFile, defaultFile, handleURL, handleQuitFile } = props;\n const t = useTranslate();\n const [open,setOpen] = useState({\n title: '',\n subtitle: '',\n isOpen: false,\n icon: ''\n })\n useEffect(()=>{\n let formatImage = inputFileValue.split(\".\");\n let formatImageParse = formatImage[formatImage.length-1];\n if(fileValue && formatImageParse !== 'jpg' && formatImageParse !== 'jpeg') {\n setOpen({\n title: t('editAr.error'),\n subtitle: t('editAr.formatImage'),\n isOpen: true\n });\n quitFile();\n }\n },[fileValue])\n\n function getFilePath(file) {\n if (file.files['0']) {\n const url = URL.createObjectURL(file.files[0]);\n setFilePath(url);\n handleFile(file.files['0']);\n handleURL(url);\n } else {\n setFileValue(false);\n }\n }\n\n function quitFile() {\n setFilePath('');\n setFileValue(false);\n handleQuitFile()\n handleURL(null)\n }\n\n function triggerFile(e) {\n e.preventDefault();\n document.getElementById('inputFile').click();\n }\n return (\n
\n
{\n if (fileValue) {\n document.getElementById('inputFile').click();\n }\n }}\n >\n {\n setInputFileValue(e.target.value);\n setFileValue(true);\n getFilePath(e.target);\n }\n }\n />\n {defaultFile ?\n {'fileValue'}\n :\n
\n
\n {t('dragAndDropFile.text')}\n
\n
\n
\n {t('dragAndDropFile.format2')} \n
\n }\n
\n \n \n
\n );\n}\n\nexport default InputFile;","import AWSStorage from '@aws-amplify/storage';\n\nclass StorageService{\n static async uploadsModels(models){\n const uploadModelPromises = models.map((model) => AWSStorage.put(model.name, model.file))\n return Promise.all(uploadModelPromises)\n }\n static async uploadOneModel(models,alias) {\n const bucketName = process.env.REACT_APP_MONORAIL_MVAR.substring(8,process.env.REACT_APP_MONORAIL_MVAR.length-1)\n const uploadModels = models.map((model) => {\n\n const fileExtension = model.name.split('.').pop();\n return AWSStorage.put(`experiences/${alias}/model.${fileExtension}`, model.file, {\n bucket:bucketName,\n level: \"public\",\n customPrefix: {public: \"\"}\n })\n })\n return Promise.all(uploadModels)\n }\n static async uploadLoadImage(file,alias) {\n const bucketName = process.env.REACT_APP_URL_PAGE.substring(8,process.env.REACT_APP_URL_PAGE.length)\n return await AWSStorage.put(`${alias}/loading-image.jpg`, file, {\n bucket:bucketName,\n level: \"public\",\n customPrefix: {public: \"\"}\n })\n \n }\n static async getLoadImage(alias) {\n const bucketName = process.env.REACT_APP_URL_PAGE.substring(8,process.env.REACT_APP_URL_PAGE.length)\n return await AWSStorage.get(`${alias}/loading-image.jpg`, {\n bucket:bucketName,\n level: \"public\",\n customPrefix: {public: \"\"}\n })\n \n }\n static async getExtras(alias) {\n const bucketName = process.env.REACT_APP_URL_PAGE.substring(8,process.env.REACT_APP_URL_PAGE.length)\n const data = await AWSStorage.get(`${alias}/extras.json`, {\n bucket:bucketName,\n level: \"public\",\n download: true,\n customPrefix: {public: \"\"}\n })\n const jsonData = JSON.parse(new TextDecoder().decode(data.Body))\n return jsonData\n }\n}\n\nexport default StorageService;","import React, {useEffect,useState,useContext} from \"react\";\nimport InputFile from \"../InputFile\";\nimport {useTranslate} from 'react-polyglot';\nimport CustomMonoriel from \"../../services/CustomMonoriel\";\nimport { DialogActions, DialogButton } from '@rmwc/dialog';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport \"./editAR.scss\"\nimport AlertDialog from '../general/AlertDialog';\nimport ExperienceService from \"../../services/Experience\";\nimport StorageService from \"../../services/Storage\";\nimport ActionButtons from \"../actionsDialog/ActionButtons\";\nexport default function ChangeLoading (props){\n const t = useTranslate();\n const [imageURL, setImageURL] = useState(null)\n const [file, setFile] = useState (null)\n const [hasLoading,setHasLoading] = useState (false)\n const { setShowLoading } = useContext(ShowLoadingContext)\n const [open,setOpen] = useState({\n title: '',\n subtitle: '',\n isOpen: false\n })\n\n useEffect(()=> {\n StorageService.getExtras(props.data.publicAlias)\n .then((rta) => {\n if(rta.hasLoadingImg){\n setHasLoading(rta.hasLoadingImg)\n StorageService.getLoadImage(props.data.publicAlias)\n .then((rta) => {\n setImageURL(rta) \n })\n }\n })\n },[])\n\n async function changeLoading() {\n try {\n setShowLoading(true)\n const params = {\n hasLoadingImg: file ? true : false,\n publicAlias: props.data.publicAlias\n }\n if(file){\n await StorageService.uploadLoadImage(file,props.data.publicAlias)\n }\n await ExperienceService.ChangeLoadingImage(props.data.experienceId,params)\n .then(rta => {\n setShowLoading(false)\n setOpen({\n title: t('experiences.success'),\n subtitle: t('experiences.successBody'),\n isOpen: true\n })\n }) \n } catch (error) {\n setShowLoading(false)\n throw new Error(error);\n } \n }\n\n return (\n
\n
\n
\n
\n setFile(file)} \n handleURL={(url) => setImageURL(url)} \n handleQuitFile={(file) => setFile(null)}>\n \n \n
\n {e.preventDefault()}}\n onClickAccept={(e) => {\n e.preventDefault()\n changeLoading()\n }}\n />\n
\n )\n}","import React, {useState,useContext} from \"react\";\nimport {useTranslate} from 'react-polyglot';\nimport { DialogActions, DialogButton } from '@rmwc/dialog';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport \"./editAR.scss\"\nimport AlertDialog from '../general/AlertDialog';\nimport Appcontext from '../app/AppContext';\nimport ExperienceService from \"../../services/Experience\";\nimport ActionButtons from \"../actionsDialog/ActionButtons\";\nexport default function ChangeToAd(props) {\n const context = useContext(Appcontext);\n const t = useTranslate();\n const { setShowLoading } = useContext(ShowLoadingContext)\n const [open, setOpen] = useState({\n title: '',\n subtitle: '',\n isOpen: false\n })\n const handleAccept = async() => {\n setShowLoading(true)\n await ExperienceService.ExperienceAd(props.data.experienceType,props.data.experienceId,!props.data.isAd, props.data.publicAlias);\n setShowLoading(false)\n context.page.refetch()\n }\n return (\n <>\n \n \n \n )\n}","import React, { useState, useEffect } from 'react';\nimport { useTranslate } from 'react-polyglot';\nimport { Button } from '@rmwc/button';\nimport { TextField } from '@rmwc/textfield';\n\nimport Icon from '../icon';\nimport DropInput from '../dropInput';\nimport campaignService from '../../services/Campaign';\nimport ErrorMessage from \"../ErrorMessage/ErrorMessage\";\n\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\nimport { DialogActions, DialogButton } from 'rmwc';\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\nfunction CloneDemoExp(props) {\n const [name, setName] = useState(props.data.name);\n\n const [showNotice, setShowNotice] = useState(props.data.showNotice)\n const [campaign, setCampaign] = useState(null);\n const [campaigns, setCampaigns] = useState([]);\n\n const [campaignId, setCampaignId] = useState(null);\n const [campaignName, setCampaignName] = useState('');\n\n\n const [errorState, setErrorState] = useState(false);\n const [message, setMessage] = useState('');\n const [isLoading, setIsLoading] = useState(false)\n\n const t = useTranslate();\n\n useEffect(() => {\n fetchCampaings();\n }, [])\n\n function fetchCampaings() {\n setIsLoading(true)\n campaignService.list(false)\n .then((campaingsResponse) => {\n\n const campaingsMapped = campaingsResponse.filter(c => c.id !== props.data.campaign.id);\n setCampaigns(campaingsMapped);\n setIsLoading(false)\n });\n }\n\n return (\n
\n {\n showNotice ?\n <>\n

{t(`experiences.cloneDemoExp.msgBody`)}

\n

{t(`experiences.cloneDemoExp.msg`)}

\n {e.preventDefault(); props.setOpen(false);}}\n onClickAccept={(e) => {e.preventDefault(); e.stopPropagation(); setShowNotice(false);}}\n >\n \n :\n <>\n {\n setName(e.target.value)\n }}/>\n {errorState ? : null}\n
\n ({...base, color: \"#3487F0\", paddingRight: '30px'}),\n menuPortal: (base) => ({ ...base, zIndex: 9999 }),\n control: (base) => ({...base, borderColor: 'rgba(41,41,41,.12)'})\n },\n isLoading: isLoading\n }}\n label=\"Crear un proyecto o agrega la experiencia a un proyecto existente\"\n outlined\n className={'new-experience-file-input'}\n icon={}\n onChangeFn={e => {\n setCampaign(e)\n setCampaignId(e.id)\n setCampaignName(e.name)\n props.onChange({\n campaign: {\n id: e.id,\n name: e.name\n }\n });\n }}\n data={campaigns}\n project={campaign}\n />\n
\n {\n e.preventDefault();\n props.setOpen(false);\n }}\n onClickAccept={(e) => {\n e.preventDefault();\n if (!name) {\n setErrorState(true);\n setMessage('Es necesario agregar un nombre de experiencia')\n } else {\n props.setOpen(false);\n setErrorState(false);\n\n props.actionHandler({\n value: {},\n name: name,\n key: props.keyData,\n isDemo: props.data.isDemo,\n campaign: {\n id: campaignId,\n name: campaignName\n }\n });\n }\n }}\n >\n \n }\n
)\n}\n\nexport default CloneDemoExp;","import React, { useState } from 'react';\nimport { Button } from '@rmwc/button';\nimport {CardMedia} from '@rmwc/card';\nimport { CardActionIcon, CardActionIcons } from 'rmwc';\n\nconst SlideshowDemoExperience = ({onClick, experienceUrl}) => {\n const [thumbnailIndex, setThumbnailIndex] = useState(0)\n\n const steps = [\n `${experienceUrl}/assets/thumbnail_studio/1.png`,\n `${experienceUrl}/assets/thumbnail_studio/2.png`,\n `${experienceUrl}/assets/thumbnail_studio/3.png`,\n `${experienceUrl}/assets/thumbnail_studio/4.png`,\n ]\n\n function getUrlThumbnail(i) {\n return `${experienceUrl}/assets/thumbnail_studio/${i+1}.png`\n }\n\n const handleBack = () => {\n setThumbnailIndex((i) => i === 0 ? 3 : i-1 )\n }\n\n const handleNext = () => {\n setThumbnailIndex((i) => i === 3 ? 0 : i+1 )\n }\n\n return (<>\n \n
\n \n
\n
\n \n
\n );\n};\n\nexport default SlideshowDemoExperience;","import React, { memo } from 'react';\nimport { useTranslate } from 'react-polyglot';\n\nconst DeactivateExp = memo(function DeactivateExp(props) {\n const t = useTranslate();\n const translationKey = props.data.isActive ? 'deactivateExp' : 'activateExp';\n\n return (\n
\n

{t(`experiences.${translationKey}.msg`)}

\n

{t(`experiences.${translationKey}.msgBody`)}

\n
\n )\n})\n\n\nexport default DeactivateExp\n","import React, { memo } from 'react';\nimport { useTranslate } from 'react-polyglot';\n\nconst EnableVR = memo(function EnableVR(props) {\n const t = useTranslate();\n const translationKey = props.data.isEnabled ? 'disableVR' : 'enableVR';\n\n return (\n
\n

{t(`experiences.${translationKey}.msg`)}

\n

{t(`experiences.${translationKey}.msgBody`)}

\n
\n )\n})\n\n\nexport default EnableVR\n","import React, {useState, useContext, forwardRef, useReducer,useEffect} from 'react';\nimport {Card, CardPrimaryAction, CardMedia, CardActions, CardActionIcon} from '@rmwc/card';\nimport {Badge} from '@rmwc/badge';\nimport Moment from 'react-moment';\nimport 'moment-timezone';\nimport 'moment/locale/es';\nimport {navigate} from '@reach/router';\nimport {useTranslate} from 'react-polyglot';\nimport {Popover, Whisper} from \"rsuite\";\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\n\nimport useObserver from '../../hooks/useObserver';\nimport {CardWrapper} from './ExperienceStyles';\nimport Notification from '../notification/notification';\nimport Appcontext from '../app/AppContext';\nimport ElipsisMenu from '../elipsisMenu';\nimport ExperienceService from '../../services/Experience';\nimport ExpName from '../actions/ExpName';\nimport Sure from '../../pages/Profile/Sure';\nimport Modal from '../modal/modal';\nimport ExperienceType from './ExperienceType';\nimport ChangeTarget from '../actions/changeTarget';\nimport CloneExp from '../actions/CloneExp';\nimport SeeTarget from '../actions/SeeTarget';\nimport MigExp from '../actions/MigExp';\nimport DeleteExp from '../actions/DeleteExp';\nimport CheckPermission from '../checkPermision/checkPermision';\nimport {userGroupsObject} from '../../utils/userGroups';\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport getLocale from '../../utils/locale';\n\nimport './experienceCard.scss';\nimport '@material/card/dist/mdc.card.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/icon-button/dist/mdc.icon-button.css';\nimport '@material/icon-button/dist/mdc.icon-button.css';\nimport '@rmwc/tooltip/tooltip.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/badge/badge.css';\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport {ChangeTargetDialogContext} from \"../../context/ChangeTargetDialogContext\";\nimport {ChangeNameDialogContext} from \"../../context/ChangeNameDialogContext\";\n\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport moment from 'moment';\nimport ChangeLoading from '../actions/ChangeLoading8thwall';\nimport StorageService from '../../services/Storage';\nimport ChangeToAd from '../actions/ChangeToAd';\nimport CloneDemoExp from '../actions/CloneDemoExp';\nimport SlideshowDemoExperience from './SlideshowDemoExperience';\nimport DeactivateExp from '../actions/DeactivateExp';\nimport EnableVR from '../actions/EnableVR';\n\n\nconst ExperienceCard = forwardRef((props, ref) => {\n\n const context = useContext(Appcontext);\n const [exp, setExp] = useState(false);\n const [cmpDataObj, setCmpDataObj] = useState({});\n const [isAd,setIsAd] = useState(false)\n const [show, element] = useObserver();\n const locale = getLocale() || 'en';\n const { \n setShowLoading, \n setOverlayStyle \n } = useContext(ShowLoadingContext)\n\n const getPopover = (name) => {\n return \n

{name}

\n
\n };\n\n const [{ showNotification, propsNotification }, setNotification] = useReducer(\n (prevState, currState) => ({ ...prevState, ...currState }),\n { showNotification: false, propsNotification: {} });\n const [avoidCacheImage, setAvoidCacheImage] = useState((new Date()).getTime());\n\n const t = useTranslate();\n\n const isFreelance = () => context.userGroups.includes(userGroupsObject.FreelanceUsers);\n const isFreelancePaid = () => context.userGroups.includes(userGroupsObject.FreelancePaidUsers);\n\n async function editExpName(value) {\n try {\n await ExperienceService.update(value, props.experience.id);\n if (context.page.refetch) {\n context.page.refetch()\n }\n } catch (error) {\n console.log(error);\n } finally {\n setExp(false);\n }\n }\n\n async function changeTarget(params) {\n try {\n\n let formData = new FormData();\n formData.append('target', params);\n formData.append('id', this.componentKey);\n\n await ExperienceService.update(formData, this.componentKey);\n\n setAvoidCacheImage((new Date()).getTime());\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.changeTarget') }\n })\n\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n }\n }\n\n async function clone(params) {\n try {\n let formData = {\n target: params.value,\n name: params.name,\n from: 'experience',\n id: params.key,\n experienceTypeId: props.experience.experienceTypeId,\n demoMode: params.isDemo\n };\n if (params.isDemo) {\n formData['campaign[id]'] = params.campaign.id\n formData['campaign[name]'] = params.campaign.name\n }\n context.setPage({...context.page, loading: true});\n const response = await ExperienceService.clone(formData);\n context.setPage({...context.page, loading: false});\n if (context.page.refetch) {\n context.page.refetch()\n }\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.clone') }\n })\n if (params.isDemo && response.campaign?.id) {\n navigate(`/campaign/${response.campaign.id}`)\n }\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n }\n\n }\n\n async function activateExp() {\n try {\n context.setPage({...context.page, loading: true});\n const exp = this.componentKey;\n await ExperienceService.expirate(exp,null);\n await ExperienceService.activate(exp)\n\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.activate') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n // window.location.reload();\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n context.setPage({...context.page, loading: false});\n }\n }\n\n async function deactivateExp() {\n try {\n context.setPage({...context.page, loading: true});\n const exp = this.componentKey;\n const date = moment()\n await ExperienceService.deactivate(exp)\n await ExperienceService.expirate(exp,date);\n \n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.deactivate') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n\n // window.location.reload();\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n context.setPage({...context.page, loading: false});\n }\n }\n\n async function enableVRModeCompatibility() {\n try {\n context.setPage({...context.page, loading: true});\n const exp = this.componentKey;\n const result = await ExperienceService.enableVRMode(exp);\n props.experience.vr_mode_compatible = result.vr_mode_compatible;\n\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.enableVRMode') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n context.setPage({...context.page, loading: false});\n }\n }\n\n async function disableVRModeCompatibility() {\n try {\n context.setPage({...context.page, loading: true});\n const exp = this.componentKey;\n await ExperienceService.disableVRMode(exp)\n if (context.page.refetch) {\n context.page.refetch()\n }\n\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.disableVRMode') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n\n // window.location.reload();\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n context.setPage({...context.page, loading: false});\n }\n }\n\n async function migrate(params) {\n try {\n const companyId = context.userData.company.id;\n const exp = params.key;\n const campaignId = params.campaign.id;\n const campaignName = params.campaign.name;\n setShowLoading(true)\n setOverlayStyle(\"loading-overlay-full\")\n await ExperienceService.migrate(campaignId,companyId, exp, campaignName);\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.migrate') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n\n } catch (error) {\n console.log(error);\n } finally {\n setExp(false);\n setShowLoading(false)\n }\n }\n\n function handleMenuClick(e) {\n // e.stopPropagation();\n let actionsDialogData = {};\n switch (this.key) {\n case 'open':\n goToEditor();\n break;\n case 'show':\n actionsDialogData = {\n title: t('experiences.actions.seeTarget'),\n componentData: props.experience,\n component: SeeTarget,\n componentKey: props.experience.id,\n action: () => {\n },\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'change-target':\n actionsDialogData = {\n title: t('experiences.actions.changeTarget'),\n componentData: props.experience.name,\n component: ChangeTarget,\n //si se desea manejar logica de botones interna del componente nos aseguramos de colocar butonless\n buttonLess: true,\n componentKey: props.experience.id,\n action: changeTarget,\n };\n setExp(true);\n\n setCmpDataObj({...actionsDialogData})\n //context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n\n break;\n case 'edit':\n actionsDialogData = {\n title: t('experiences.actions.edit'),\n componentData: props.experience.name,\n component: ExpName,\n componentKey: props.experience.id,\n action: editExpName,\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n //context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n\n break;\n /* Activate / Deactivate */\n case 'activate':\n actionsDialogData = {\n title: props.experience.active ? t('experiences.actions.deactive') : t('experiences.actions.active'),\n componentData: {\n experienceName: props.experience.name,\n isActive: props.experience.active\n },\n component: DeactivateExp,\n componentKey: props.experience.id,\n action: props.experience.active ? deactivateExp : activateExp,\n };\n // context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'clone':\n actionsDialogData = {\n title: t('experiences.actions.cloneExp'),\n componentData: {name: props.experience.name, hasTarget: !!props.experience.target},\n component: CloneExp,\n componentKey: props.experience.id,\n action: clone,\n buttonLess: true\n };\n // context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'cloneDemo':\n actionsDialogData = {\n title: t('experiences.actions.cloneExp'),\n componentData: {...props.experience, name: props.experience.name, hasTarget: !!props.experience.target, isDemo: true, showNotice: !!this.showNotice},\n component: CloneDemoExp,\n componentKey: props.experience.id,\n action: clone,\n buttonLess: true\n };\n // context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'migrate':\n actionsDialogData = {\n title: t('experiences.actions.migExp'),\n componentData: props.experience,\n component: MigExp,\n componentKey: props.experience.id,\n action: migrate,\n buttonLess: true\n };\n // context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'reports':\n navigate(`${process.env.REACT_APP_REPORTS_V2}/goto?company_id=${props.experience.companyId}&campaign_id=${props.experience.campaign.id}&experience_id=${props.experience.id}`);\n break;\n case 'delete':\n actionsDialogData = {\n title: t('experiences.actions.removeExp'),\n componentData: {\n name: props.experience.name,\n },\n component: DeleteExp,\n componentKey: props.experience.id,\n buttonLess: true,\n action: deleteExperience\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'changeLoading':\n actionsDialogData = {\n title: t('actions.changeLoading'),\n componentData: {\n publicAlias: props.experience.link.public_alias,\n experienceId: props.experience.id,\n },\n component: ChangeLoading,\n componentKey: props.experience.id,\n buttonLess: true,\n action: ()=>{\n setExp(false);\n }\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData}); \n break;\n case 'experienceAd':\n actionsDialogData = {\n title: props.experience.is_ad ? t('actions.convertToNormal') : t('actions.convertToAd') ,\n componentData: {\n experienceId: props.experience.id,\n isAd: props.experience.is_ad,\n experienceType: props.experience.experienceTypeId,\n publicAlias: props.experience.link.public_alias\n },\n component: ChangeToAd,\n componentKey: props.experience.id,\n buttonLess: true,\n action: ()=>{\n setExp(false);\n }\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData}); \n break;\n case 'enableVRMode':\n const isEnabled = props.experience.vr_mode_compatible;\n actionsDialogData = {\n title: isEnabled ? t('experiences.actions.disableVRMode') : t('experiences.actions.enableVRMode'),\n componentData: {\n experienceName: props.experience.name,\n isEnabled\n },\n component: EnableVR,\n componentKey: props.experience.id,\n action: isEnabled ? disableVRModeCompatibility : enableVRModeCompatibility,\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n default:\n break;\n }\n }\n\n async function deleteExperience(experienceId) {\n try {\n const response = await ExperienceService.delete(experienceId);\n if (context.page.refetch) {\n context.page.refetch()\n }\n return response;\n\n } catch (error) {\n throw new Error(error);\n } finally {\n setExp(false);\n }\n }\n\n function getUrl(file) {\n if (file.includes('http')) {\n return file;\n } else {\n const fileArray = props.experience.target.thumb.split('/').reverse();\n return `http://localhost:3008/targets/${fileArray[1]}/${fileArray[0]}`\n }\n }\n\n function getHermansUrl() {\n let baseUrl = `${process.env.REACT_APP_EDITOR_DOMAIN}?id=${props.experience.id}`;\n let paths = window.location.pathname.split('/');\n let userId = paths.length > 1 ? paths[2] : '';\n let hasUser = paths.length > 1 && paths[1] === 'user';\n if (hasUser) {\n baseUrl += `&user=${userId}`\n }\n return baseUrl\n }\n\n function goToEditor() {\n let baseUrl = `${process.env.REACT_APP_EDITOR_DOMAIN}?id=${props.experience.id}`;\n if (props.accessFromEditor) {\n let paths = window.location.pathname.split('/');\n let userId = paths.length > 1 ? paths[2] : '';\n let hasUser = paths.length > 1 && paths[1] === 'user';\n\n\n let campaignId = paths.length > 1 ? paths[4] : '';\n let hasCampaign = paths.length > 1 && paths[3] === 'project';\n if (hasUser) {\n baseUrl += `&user=${userId}`\n }\n if (hasCampaign) {\n baseUrl += `&campaign=${campaignId}`;\n }\n }\n window.open(baseUrl, \"_self\")\n }\n\n function isPublished(exp) {\n return exp.published.web !== null || exp.published.mobile !== null\n }\n\n function isPublishedToProd() {\n return !!props.experience.published.prod\n }\n \n const canUseVRMode = () => {\n return !isFreelance();\n }\n\n const canSeeReport = () => {\n if (context.userGroups.includes(userGroupsObject.CompanyUsers)) {\n return context.userData.company ? context.userData.company.canSeeReport : false;\n }\n return true;\n };\n\n const isEditor = () => {\n if (context.userGroups.find(e => e === 'CamonappUsers') !== undefined) {\n return 'Editor'\n }\n };\n\n const isAdmin = () => {\n if (context.userGroups.find(e => e === 'CamonappAdminUsers') !== undefined) {\n return 'Admin'\n }\n };\n\n //context for migration\n const {setExperienceId, setOpenMigrateExperienceDialog} = useContext(MigrateUserDialogContext);\n const openMigrationExperienceAdmin = () => {\n setExperienceId(props.experience.id);\n setOpenMigrateExperienceDialog(true)\n };\n const {setOpenQRDialog, setDialogData} = useContext(QRDialogContext);\n const handleQRDialog = () => {\n setDialogData({\n published: !!props.experience.published.prod,\n url: props.experience.public_url\n });\n setOpenQRDialog(true)\n };\n const {setOpenChangeTargetDialog, setPayload, payload} = useContext(ChangeTargetDialogContext);\n const handleChangeTarget = () => {\n setPayload({...payload, ...{id: props.experience.id}});\n setOpenChangeTargetDialog(true);\n };\n\n const {changeNameData, setDialogChangeNameData, setOpenChangeDialog} = useContext(ChangeNameDialogContext);\n const handleChangeNameDialog = () => {\n setDialogChangeNameData({\n ...changeNameData,\n ...{name: props.experience.name, id: props.experience.id, originalName: props.experience.name}\n });\n setOpenChangeDialog(true);\n };\n\n const [visible, setVisible] = useState(props.experience.target && props.experience.target.isOffline);\n\n function closeNotification() {\n setNotification({ showNotification: false })\n }\n\n return (\n \n {show &&\n \n { \n props.isDemo ?\n \n \n \n \n \n :\n \n \n \n \n \n \n }\n \n
\n
\n \n
\n {props.experience.name}\n
\n
\n
\n\n
\n {props.experience.updated_at}\n {\n e.stopPropagation()\n }}>\n {/**/}\n {props.experience.target &&\n
\n {t('experiences.actions.seeTarget')}\n
\n }\n {\n props.isDemo || (props.experience.target === undefined && !!props.experience.published.prod) ?\n
\n {t('experiences.actions.watchQR')}\n
: null\n }\n {!props.isDemo && props.experience.target &&\n
\n {t('experiences.actions.changeTarget')}\n
}\n {/*
\n {t('pages.campaigns.actions.changeName')}\n
*/}\n { !props.isDemo &&\n
\n {t('pages.campaigns.actions.changeName')}\n
\n }\n {\n props.isDemo ?\n
\n {t('experiences.actions.cloneDemoExp')}\n
\n :\n
\n {t('experiences.actions.cloneExp')}\n
\n }\n {!props.isDemo && isPublishedToProd(props.experience) &&\n
\n {props.experience.active ? t('actions.disable') : t('actions.enable')}\n
\n }\n {!props.isDemo && props.experience.target === undefined &&\n \n {props.experience.vr_mode_compatible ? t('experiences.actions.disableVRMode') : t('experiences.actions.enableVRMode')}\n {!canUseVRMode() && }\n
\n }\n {!props.isDemo && \n
\n {t('experiences.actions.migExp')}\n
\n }\n {\n isAdmin() ?\n
\n {t('experiences.actions.migExpAdmin')}\n
: null\n }\n {\n !props.isDemo && props.experience.is_ad &&\n
\n {t('actions.changeLoading')}\n
\n }\n {\n !props.isDemo && !isFreelance() && !isFreelancePaid() &&\n
\n {props.experience.is_ad ? t('actions.convertToNormal') : t('actions.convertToAd') }\n
\n }\n \n \n {t('experiences.actions.seeReports')}\n \n \n
\n )}\n groups={[\n userGroupsObject.CamonappUsers,\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.CamonappSalesUsers,\n userGroupsObject.CompanyUsers,\n userGroupsObject.FreelanceUsers,\n userGroupsObject.FreelancePaidUsers,\n ]}\n />\n {!props.isDemo && \n
\n {t('actions.delete')}\n
\n }\n \n }/>\n \n \n
\n {showNotification && }\n {exp &&\n {\n setExp(false)\n }}/>\n }\n
\n }\n
\n\n )\n});\n\nexport default ExperienceCard;\n","import ExperienceCard from './experienceCard';\nexport default ExperienceCard;","import styled from 'styled-components';\n\n\nexport const CardWrapper = styled.div`\n min-width: 250px;\n margin-bottom: 18px;\n`","import styled from 'styled-components';\n\nconst statusColor = {\n NOT_PUBLISHED: '#0DD391',\n PUBLISHED: '#3487F0',\n ON_REVIEW: '#F0B40F',\n REJECTED: '#EF0000',\n};\nexport const MarkerContainer = styled.div`\n position : absolute;\n display: flex;\n width: 100%;\n top: 4px;\n left: 4px;\n \n`\nexport const MarkerContainerOffline = styled.div`\n position : absolute;\n display: flex;\n width: 100%;\n top : 5px;\n height: 40px;\n`\n\nexport const TypeWrapper = styled.div`\n background-color: #3487F0;\n width: 26px;\n height: 24px;\n margin-top: 4px;\n margin-left: 4px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n\n`;\n\nexport const TypeWithPlatformWrapper = styled.div`\n background-color: #fff;\n width: 71px;\n height: 24px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n`;\n\nexport const TextPlatform = styled.p`\n font-family: Public Sans;\n font-style: normal;\n font-weight: bold;\n font-size: 11px;\n line-height: 16px;\n margin-top:4px;\n color: #1675e0 !important;\n width:32px;\n`;\n\nexport const AppOrWebWrapper = styled.div`\n background-color: #fff;\n width: 26px;\n height: 24px;\n margin: 0 4px 0 4px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n\n`;\n\nexport const StatusOfExperience = styled.div`\n background-color: ${props => statusColor[props.status]};\n width: 26px;\n height: 24px;\n margin-left: 125px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n`;\n\nexport const StatusWrapper = styled.div`\n background-color: ${props => statusColor[props.status]};\n background-color: #fff;\n width: 26px;\n height: 24px;\n margin: 0 5px 0 5px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n margin-left:105px;\n color: #fff;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n`;\n\nexport const ButtonWrapper = styled.div`\n background-color: red;\n width: 26px;\n height: 24px;\n display: flex;\n flex-direction: row;\n justify-content: center;\n color: #fff;\n margin-top: 50px;\n box-shadow: 0px 4px 24px rgba(41, 41, 41, 0.12), 0px 4px 32px rgba(41, 41, 41, 0.04);\n border-radius: 4px;\n`;\n","import React from 'react';\nimport {ReactSVG} from \"react-svg\";\n\nconst ImageWithBackgroundComponent = ({iconSrc, aditionalClass, hasMargin}) => {\n return (\n \n );\n};\n\nexport default ImageWithBackgroundComponent;","import React, {memo, Fragment} from 'react'\nimport {\n MarkerContainer,\n StatusOfExperience,\n TypeWithPlatformWrapper,\n TextPlatform,\n MarkerContainerOffline\n} from './ExperienceTypeStyles.js'\nimport ImageWithBackgroundComponent from \"./ImageWithBackgroundComponent\";\nimport {Button} from \"rsuite\";\n\n\nconst ExperienceType = memo(function ExperienceType({experience, visible, goToEditor}) {\n\n const getExperienceTypeIcon = () => {\n switch (experience.experienceTypeId) {\n case 1:\n return \"/images/new-immersive-track-mini.svg\";\n case 2:\n return \"/images/new-world-track-mini.svg\";\n case 3:\n return \"/images/new-image-track-mini.svg\";\n case 4:\n return \"/images/new-face-track-mini.svg\";\n case 5:\n return \"/images/new-ar.svg\";\n }\n };\n\n const getIconForStatus = () => {\n switch (experience.status) {\n case 'NOT_PUBLISHED':\n return '/images/notpublished-status.svg';\n case 'PUBLISHED':\n return '/images/published-status.svg';\n case 'ON_REVIEW':\n return '/images/pending-timer-status.svg';\n case 'REJECTED':\n return '/images/close-circle-line.svg'\n }\n const statusMap = {\n NOT_PUBLISHED: 'pencil-ruler',\n PUBLISHED: 'rocket',\n ON_REVIEW: 'pending-timer',\n REJECTED: 'close-circle-1',\n };\n return statusMap[experience.status];\n };\n return (\n \n \n \n \n {\"AR\"} \n \n \n \n \n \n
\n {!!experience.is_ad && <>\n \n \n AD \n \n }\n
\n \n \n \n
\n )\n});\n\n\nexport default ExperienceType\n","import React, {useEffect,useState,useContext} from \"react\";\nimport InputFile from \"../InputFile\";\nimport {useTranslate} from 'react-polyglot';\nimport CustomMonoriel from \"../../services/CustomMonoriel\";\nimport { DialogActions, DialogButton } from '@rmwc/dialog';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport \"./editAR.scss\"\nimport AlertDialog from '../general/AlertDialog';\nimport ActionButtons from \"../actionsDialog/ActionButtons\";\nexport default function ChangeLoading (props){\n const t = useTranslate();\n const [imageURL, setImageURL] = useState(null)\n const [file, setFile] = useState (null)\n const { setShowLoading } = useContext(ShowLoadingContext)\n const [open,setOpen] = useState({\n title: '',\n subtitle: '',\n isOpen: false\n })\n\n useEffect(()=> {\n console.log(props.data)\n getBackgroundAR()\n },[])\n async function getBackgroundAR() {\n try {\n setShowLoading(true)\n await CustomMonoriel.getCustomMonorielConfig(props.data)\n .then(response=> response.json())\n .then(data => {\n if(data.hasLoadingURL == \"true\"){\n setImageURL(`${process.env.REACT_APP_MONORAIL_BUCKET}/${props.data}/mr-loading.jpeg`)\n }\n });\n } catch (error) {\n throw new Error(error);\n } \n setShowLoading(false)\n }\n async function changeLoadingAR() {\n try {\n setShowLoading(true)\n const update = new FormData()\n update.append(\"hasLoadingURL\", file != null ? true : false)\n update.append(\"loading\", file)\n await CustomMonoriel.updateCustomMonorielConfig(props.data,update)\n .then(rta => {\n setShowLoading(false)\n setOpen({\n title: t('experiences.success'),\n subtitle: t('experiences.successBody'),\n isOpen: true\n })\n }) \n } catch (error) {\n throw new Error(error);\n } \n }\n\n return (\n
\n
\n
\n
\n setFile(file)} \n handleURL={(url) => setImageURL(url)} \n handleQuitFile={(file) => setFile(null)}>\n \n \n
\n {e.preventDefault()}}\n onClickAccept={(e) => {\n e.preventDefault()\n changeLoadingAR()\n }}\n />\n
\n )\n}","import React, {Fragment, useState} from 'react';\nimport { TextField, FormControl,FormGroup,InputLabel, Select,MenuItem, Slider, Grid} from '@mui/material';\n \nimport './Previsualiser.css'\n\n\nfunction BackgroundForm(props) {\n \n const {onChange, onChangeOpacity,hiddenOpacity, classInput} = props;\n const handleChangeOpacity = ()=>{\n const opacity =document.getElementById(\"opacity\").value;\n if( opacity < 0){\n document.getElementById(\"opacity\").value = 0;\n }\n if(opacity > 100){\n document.getElementById(\"opacity\").value = 100;\n }\n const value = document.getElementById(\"opacity\").value;\n \n onChangeOpacity(\n {\n target:{\n value : value\n }\n }\n )\n }\n return (\n
\n \n \n {\n hiddenOpacity && (\n \n \n )\n }\n
\n );\n}\n\nexport default BackgroundForm;\n","import React, {useEffect,useState,useContext} from \"react\";\nimport { MenuItem, TextField } from \"@mui/material\";\nimport BackgroundForm from \"../../pages/WebComponent/BackgroundForm\";\nimport InputFile from \"../InputFile\";\nimport {useTranslate} from 'react-polyglot';\nimport CustomMonoriel from \"../../services/CustomMonoriel\";\nimport { DialogActions, DialogButton } from '@rmwc/dialog';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport \"./editAR.scss\"\nimport AlertDialog from '../general/AlertDialog';\nimport ActionButtons from \"../actionsDialog/ActionButtons\";\nexport default function EditAR (props){\n const t = useTranslate();\n const [color, setColor] = useState(\"#ffffff\")\n const [imageURL, setImageURL] = useState(null)\n const [file, setFile] = useState (null)\n const [selectOption, setSelectOption] = useState()\n const { setShowLoading } = useContext(ShowLoadingContext)\n const [open,setOpen] = useState({\n title: '',\n subtitle: '',\n isOpen: false\n })\n\n useEffect(()=> {\n getBackgroundAR()\n },[])\n async function getBackgroundAR() {\n try {\n setShowLoading(true)\n await CustomMonoriel.getCustomMonorielConfig(props.data)\n .then(response=> response.json())\n .then(data => {\n if(data.hasBackgroundURL === \"true\"){\n setSelectOption(\"image\")\n setImageURL(data.skyBox)\n }\n else if (data.background !== \"#ffffff\") {\n setSelectOption(\"color\")\n setColor(data.background)\n } \n setShowLoading(false)\n });\n } catch (error) {\n throw new Error(error);\n } \n }\n async function changeBackgroundAR() {\n try {\n setShowLoading(true)\n const update = new FormData()\n update.append(\"background\", color)\n update.append(\"hasBackgroundURL\", file != null ? true : false)\n update.append(\"skyBox\", file)\n await CustomMonoriel.updateCustomMonorielConfig(props.data,update)\n .then(rta => {\n setShowLoading(false)\n setOpen({\n title: t('experiences.success'),\n subtitle: t('experiences.successBody'),\n isOpen: true\n })\n })\n } catch (error) {\n throw new Error(error);\n } \n }\n\n return (\n
\n
\n
\n setSelectOption(e.target.value)}>\n {t('experiences.image')}\n {t('experiences.color')}\n \n
\n {\n selectOption === \"image\" ?\n setFile(file)} handleURL={(url) => setImageURL(url)} handleQuitFile={(file) => setFile(null)}>\n : selectOption === \"color\" ?\n {\n setColor(e.target.value)\n }}\n label={t('experiences.changeBackground')}\n /> \n :\n <>\n\n }\n \n
\n {e.preventDefault()}}\n onClickAccept={(e) => {\n e.preventDefault()\n changeBackgroundAR()\n }}\n />\n
\n )\n}","import React, {useState,useContext} from \"react\";\nimport {useTranslate} from 'react-polyglot';\nimport CustomMonoriel from \"../../services/CustomMonoriel\";\nimport { DialogActions, DialogButton } from '@rmwc/dialog';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport Appcontext from '../app/AppContext';\nimport \"./editAR.scss\";\nimport { TextField} from '@mui/material';\nimport { Snackbar, SnackbarAction } from '@rmwc/snackbar';\nimport CoaTextField from \"../textfield\";\nimport ActionButtons from \"../actionsDialog/ActionButtons\";\n\nexport default function ChangeAlias(props) {\n const context = useContext(Appcontext);\n const t = useTranslate();\n const [alias, setAlias] = useState(props.data)\n const { setShowLoading } = useContext(ShowLoadingContext)\n const [open,setOpen] = useState({\n title: '',\n subtitle: '',\n isOpen: false,\n icon: ''\n })\n\n async function changeAlias() {\n try {\n setShowLoading(true);\n const aliasNormalizado = alias.replace(/\\s+/g, ''); \n await CustomMonoriel.changeMoesAlias(props.keyData, aliasNormalizado);\n const formData = new FormData();\n formData.append('newAlias', aliasNormalizado);\n await CustomMonoriel.changeCletusAlias(props.data,formData)\n setOpen({\n title: t('experiences.success'),\n subtitle: t('experiences.successBody'),\n isOpen: true,\n icon: 'check'\n });\n setShowLoading(false);\n context.page.refetch();\n } catch (error) {\n console.log('error', error);\n setShowLoading(false);\n setOpen({\n subtitle: t('experiences.error'),\n isOpen: true,\n icon: 'error'\n });\n }\n }\n\n return (\n
\n \n {}}\n onClickAccept={changeAlias}\n >\n \n }\n /> \n
\n )\n}\n","import React, {useEffect,useState,useContext} from \"react\";\nimport {useTranslate} from 'react-polyglot';\nimport CustomMonoriel from \"../../services/CustomMonoriel\";\nimport { DialogActions, DialogButton } from '@rmwc/dialog';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport \"./editAR.scss\"\nimport AlertDialog from '../general/AlertDialog';\nimport { Snackbar, TextField} from '@mui/material';\nimport Appcontext from '../app/AppContext';\nimport CoaTextField from \"../textfield\";\nimport ActionButtons from \"../actionsDialog/ActionButtons\";\nimport { SnackbarAction } from \"rmwc\";\n\nexport default function ChangeName(props) {\n const context = useContext(Appcontext);\n const t = useTranslate();\n const [name, setName] = useState(props.data)\n const { setShowLoading } = useContext(ShowLoadingContext)\n const [open, setOpen] = useState({\n title: '',\n subtitle: '',\n isOpen: false\n })\n\n useEffect(()=> {\n },[])\n\n async function changeName() {\n try {\n setShowLoading(true)\n await CustomMonoriel.changeMoesName(props.keyData, name)\n .then(rta => {\n setShowLoading(false)\n setOpen({\n title: t('common.msg.success'),\n subtitle: t('customLoaderLayout.applyChanges'),\n isOpen: true\n });\n context.page.refetch();\n });\n } catch (error) {\n throw new Error(error);\n }\n setShowLoading(false); \n }\n\n return (\n <>\n
\n \n {e.preventDefault()}}\n onClickAccept={(e) => {\n e.preventDefault()\n changeName()\n }}\n >\n \n }\n />\n
\n \n )\n}","import React, {useState, useContext, forwardRef, useReducer} from 'react';\nimport {Card, CardPrimaryAction, CardMedia, CardActions, CardActionIcon} from '@rmwc/card';\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\nimport {Badge} from '@rmwc/badge';\nimport moment from 'moment';\nimport Moment from 'react-moment';\nimport 'moment-timezone';\nimport 'moment/locale/es';\nimport {navigate} from '@reach/router';\nimport {useTranslate} from 'react-polyglot';\nimport {Popover, Whisper} from \"rsuite\";\nimport useObserver from '../../hooks/useObserver';\nimport {CardWrapper} from './ExperienceStyles';\nimport Notification from '../notification/notification';\nimport Appcontext from '../app/AppContext';\nimport ElipsisMenu from '../elipsisMenu';\nimport ExperienceService from '../../services/Experience';\nimport CustomMonoriel from '../../services/CustomMonoriel';\nimport ExpName from '../actions/ExpName';\nimport Sure from '../../pages/Profile/Sure';\nimport Modal from '../modal/modal';\nimport ExperienceType from './ExperienceType';\nimport MigExp from '../actions/MigExp';\nimport SeeTarget from '../actions/SeeTarget';\nimport DeleteExp from '../actions/DeleteExp';\nimport ChangeLoading from '../actions/ChangeLoadingAr'\nimport CheckPermission from '../checkPermision/checkPermision';\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport {userGroupsObject} from '../../utils/userGroups';\nimport getLocale from '../../utils/locale';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport ChangeToAd from '../actions/ChangeToAd';\nimport './experienceCard.scss';\nimport '@material/card/dist/mdc.card.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/icon-button/dist/mdc.icon-button.css';\nimport '@material/icon-button/dist/mdc.icon-button.css';\nimport '@rmwc/tooltip/tooltip.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/badge/badge.css';\nimport {ChangeNameDialogContext} from \"../../context/ChangeNameDialogContext\";\nimport EditAR from '../actions/EditAR';\nimport ChangeAlias from '../actions/ChangeAlias';\nimport ChangeName from '../actions/ChangeName';\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport CloneExp from '../actions/CloneExp';\n\nconst ModelViewCard = forwardRef((props, ref) => {\n const context = useContext(Appcontext);\n const [exp, setExp] = useState(false);\n const [cmpDataObj, setCmpDataObj] = useState({});\n const [show, element] = useObserver();\n const locale = getLocale() || 'en';\n const { setShowLoading, setOverlayStyle } = useContext(ShowLoadingContext)\n\n const getPopover = (name) => {\n return \n

{name}

\n
\n };\n\n const [{ showNotification, propsNotification }, setNotification] = useReducer(\n (prevState, currState) => ({ ...prevState, ...currState }),\n { showNotification: false, propsNotification: {} });\n\n const t = useTranslate();\n\n const isFreelance = () => context.userGroups.includes(userGroupsObject.FreelanceUsers);\n\n async function editExpName(value) {\n try {\n await ExperienceService.update(value, props.experience.id);\n if (context.page.refetch) {\n context.page.refetch()\n }\n } catch (error) {\n console.log(error);\n } finally {\n setExp(false);\n }\n }\n\n async function activateExp() {\n try {\n const exp = this.componentKey;\n\n await ExperienceService.expirate(exp,null);\n\n\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.activate') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n // window.location.reload();\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n }\n }\n\n async function deactivateExp() {\n try {\n const exp = this.componentKey;\n const date = moment()\n await ExperienceService.expirate(exp,date);\n\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.deactivate') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n\n // window.location.reload();\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n }\n }\n async function migrate(params) {\n try {\n const companyId = context.userData.company.id;\n const exp = params.key;\n const campaignId = params.campaign.id;\n const campaignName = params.campaign.name;\n setShowLoading(true)\n setOverlayStyle(\"loading-overlay-full\")\n await ExperienceService.migrate(campaignId,companyId, exp, campaignName);\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.migrate') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n\n } catch (error) {\n console.log(error);\n } finally {\n setExp(false);\n }\n }\n async function clone(params) {\n try {\n\n let formData = {\n target: params.value,\n name: params.name,\n from: 'experience',\n id: params.key,\n experienceTypeId: props.experience.experienceTypeId\n };\n context.setPage({...context.page, loading: true});\n console.log(formData)\n await ExperienceService.clone(formData);\n context.setPage({...context.page, loading: false});\n if (context.page.refetch) {\n context.page.refetch()\n }\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.clone') }\n })\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n }\n\n }\n function handleMenuClick(e) {\n e.stopPropagation();\n let actionsDialogData = {};\n switch (this.key) {\n case 'open':\n goToMonorail();\n break;\n case 'show':\n actionsDialogData = {\n title: t('experiences.actions.seeTarget'),\n componentData: props.experience,\n component: SeeTarget,\n componentKey: props.experience.id,\n action: () => {\n },\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n \n case 'edit':\n actionsDialogData = {\n title: t('experiences.actions.edit'),\n componentData: props.experience.name,\n component: ExpName,\n componentKey: props.experience.id,\n action: editExpName,\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n //context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n\n break;\n case 'activate':\n\n actionsDialogData = {\n title: props.experience.active ? t('experiences.actions.deactive') : t('experiences.actions.active'),\n componentData: props.experience.name,\n component: Sure,\n componentKey: props.experience.id,\n action: props.experience.active ? deactivateExp : activateExp,\n };\n // context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'reports':\n if (!isFreelance()) {\n navigate(`${process.env.REACT_APP_REPORTS_V2}/goto?company_id=${props.experience.companyId}&campaign_id=${props.experience.campaign.id}&experience_id=${props.experience.id}`);\n }\n break;\n case 'delete':\n actionsDialogData = {\n title: t('experiences.actions.removeExp'),\n componentData: {\n name: props.experience.name,\n },\n component: DeleteExp,\n componentKey: props.experience.id,\n buttonLess: true,\n action: deleteExperience\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'editAR':\n actionsDialogData = {\n title:t('experiences.editBackground'),\n componentData: props.experience.link.public_alias,\n component: EditAR,\n componentKey: props.experience.id,\n buttonLess: true,\n action: ()=>{setExp(false)}\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData});\n break;\n case 'changeAlias':\n actionsDialogData = {\n title: t('actions.changeAlias'),\n componentData: props.experience.link.public_alias,\n component: ChangeAlias,\n componentKey: props.experience.id,\n buttonLess: true,\n action: () => {\n setExp(false);\n }\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData});\n break;\n case 'changeName':\n actionsDialogData = {\n title: t('actions.changeName'),\n componentData: props.experience.name,\n component: ChangeName,\n componentKey: props.experience.id,\n buttonLess: true,\n action: ()=>{\n setExp(false);\n }\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData}); \n break;\n case 'changeLoading':\n actionsDialogData = {\n title: t('actions.changeLoading'),\n componentData: props.experience.link.public_alias,\n component: ChangeLoading,\n componentKey: props.experience.id,\n buttonLess: true,\n action: ()=>{\n setExp(false);\n }\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData}); \n break;\n case 'experienceAd':\n actionsDialogData = {\n title: props.experience.is_ad ? t('actions.convertToNormal') : t('actions.convertToAd') ,\n componentData: {\n experienceId: props.experience.id,\n isAd: props.experience.is_ad,\n experienceType: props.experience.experienceTypeId,\n publicAlias: props.experience.link.public_alias\n },\n component: ChangeToAd,\n componentKey: props.experience.id,\n buttonLess: true,\n action: ()=>{\n setExp(false);\n }\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData}); \n break;\n case 'migrate':\n actionsDialogData = {\n title: t('experiences.actions.migExp'),\n componentData: props.experience,\n component: MigExp,\n componentKey: props.experience.id,\n action: migrate,\n buttonLess: true\n };\n // context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n case 'clone':\n actionsDialogData = {\n title: t('experiences.actions.cloneExp'),\n componentData: {name: props.experience.name, hasTarget: !!props.experience.target},\n component: CloneExp,\n componentKey: props.experience.id,\n action: clone,\n buttonLess: true\n };\n // context.setPage({ ...context.page, openActionsDialog: true, actionsDialogData });\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n break;\n default:\n break;\n }\n }\n\n let url = getMonorailUrl();\n\n const {setOpenQRDialog, setDialogData} = useContext(QRDialogContext);\n const handleQRDialog = () => {\n setDialogData({\n published: true,\n url: url,\n shortUrl: url\n });\n setOpenQRDialog(true)\n };\n const {setExperienceId, setOpenMigrateExperienceDialog} = useContext(MigrateUserDialogContext);\n const openMigrationExperienceAdmin = () => {\n setExperienceId(props.experience.id);\n setOpenMigrateExperienceDialog(true)\n };\n\n\n async function deleteExperience(experienceId) {\n try {\n setShowLoading(true);\n let response = await ExperienceService.delete(experienceId);\n response = await CustomMonoriel.deleteCletusAlias(props.experience.link.public_alias);\n\n if (context.page.refetch) {\n context.page.refetch()\n }\n setShowLoading(false);\n return response;\n\n } catch (error) {\n throw new Error(error);\n } finally {\n setShowLoading(false);\n setExp(false);\n }\n }\n\n const isFreelancePaid = () => {\n return context.userGroups.find(e => e === 'FreelancePaidUsers') !== undefined\n }\n\n const isEditor = () => {\n if (context.userGroups.find(e => e === 'CamonappUsers') !== undefined) {\n return 'Editor'\n }\n };\n const isAdmin = () => {\n if (context.userGroups.find(e => e === 'CamonappAdminUsers') !== undefined) {\n return 'Admin'\n }\n };\n function goToMonorail() {\n window.open(getMonorailUrl(), \"_blank\")\n }\n\n function getMonorailUrl() {\n if(props.experience.link) {\n return `${process.env.REACT_APP_MONORAIL_MVAR}?a=${props.experience.link.public_alias}`;\n }\n else {\n return `${process.env.REACT_APP_MONORAIL_VIEWER}?model=${props.experience.name}`;\n }\n }\n\n const canSeeReport = () => {\n // //si son experiencias ar no da la opcion de ver reportes\n // if(props.experience.experienceTypeId === 5){\n // return false;\n // }\n if (context.userGroups.includes(userGroupsObject.CompanyUsers)) {\n return context.userData.company ? context.userData.company.canSeeReport : false;\n }\n return true;\n };\n\n //context for migration\n \n \n const {changeNameData, setDialogChangeNameData, setOpenChangeDialog} = useContext(ChangeNameDialogContext);\n const handleChangeNameDialog = () => {\n setDialogChangeNameData({...changeNameData, ...{name: props.experience.name, id: props.experience.id, originalName: props.experience.name}});\n setOpenChangeDialog(true);\n };\n\n\n function closeNotification() {\n setNotification({ showNotification: false })\n }\n\n return (\n \n {show &&\n \n \n \n \n \n \n \n \n
\n
\n \n
\n {props.experience.name}\n
\n
\n
\n\n
\n {props.experience.updated_at}\n {\n e.stopPropagation()\n }}>\n
\n {t('experiences.actions.watchQR')}\n
\n {/*Descomentar esto para luego poder editar el nombre*/} {/*
\n {t('pages.campaigns.actions.changeName')}\n
*/}\n\n \n \n {t('experiences.actions.seeReports')}\n \n \n }\n groups={[userGroupsObject.FreelanceUsers]}\n />\n
\n )}\n groups={[\n userGroupsObject.CamonappUsers,\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.CamonappSalesUsers,\n userGroupsObject.FreelancePaidUsers,\n userGroupsObject.CompanyUsers,\n userGroupsObject.FreelanceUsers,\n userGroupsObject.FreelancePaidUsers,\n ]}\n />\n
\n {t('actions.delete')}\n
\n {\n isEditor() &&\n
\n {t('actions.editAR')}\n
\n }\n {\n isEditor() &&\n
\n {t('actions.changeAlias')}\n
\n }\n {\n isEditor() &&\n
\n {t('actions.changeName')}\n
\n }\n {\n isEditor() &&\n
\n {t('actions.changeLoading')}\n
\n }\n {\n isEditor() && !isFreelancePaid() &&\n
\n {props.experience.is_ad ? t('actions.convertToNormal') : t('actions.convertToAd') }\n
\n }\n
\n {t('experiences.actions.migExp')}\n
\n {\n isAdmin() ?\n
\n {t('experiences.actions.migExpAdmin')}\n
: null\n }\n
\n {t('experiences.actions.cloneExp')}\n
\n \n }/>\n
\n \n
\n {showNotification && }\n {exp &&\n {\n setExp(false)\n }}/>\n }\n
\n }\n
\n\n )\n});\n\nexport default ModelViewCard;\n","export const EXPERIENCE_TYPE = {\n\n // world: 'filters.expType.world', // Mundo\n // plane: 'filters.expType.plane', // Plana\n 'all': 'filters.expType.all', // Todos\n 'immersive': 'common.labels.360',\n 'world': 'common.labels.worldTracking',\n 'image': 'common.labels.imageTracking',\n 'face': 'common.labels.face',\n\n};\n\nexport const EXPERIENCE_STATUS = {\n all: 'filters.status.all', // 'Todos'\n PUBLISHED: 'filters.status.published', // Publicados\n NOT_PUBLISHED: 'filters.status.notPublished', // Sin publicar\n //ON_REVIEW: 'filters.status.onReview', // Revision\n REJECTED: 'filters.status.rejected' //Rechazados\n}\n\nexport const EXPERIENCE_SORT = {\n recent: 'filters.sort.recent', // Recientes\n created: 'filters.sort.created', // Fecha de creacion \n name: 'filters.sort.name' // Nombre\n}\n\nexport const EXPERIENCE_TYPE_ID = {\n '3': '3',\n '2s2': '2',\n '2s3': '2',\n '1s2': '1',\n 'ImmersionWeb': '1',\n 'face':'4',\n 'model_3d': '5',\n}","import React, {forwardRef, useContext, useState} from 'react';\nimport ExperienceCard from '../../components/experienceCard';\nimport ModelViewCard from '../../components/modelViewCard/ModelViewCard';\nimport { EXPERIENCE_TYPE_ID } from '../../utils/experience';\n\n\nexport const CardHomeStudio = forwardRef( (props) => {\n\n // TODO la diferenciación no deberia ser un simple if, podria ser una estrategia de cards\n return (\n props.experience.experienceTypeId == EXPERIENCE_TYPE_ID['model_3d'] ?\n :\n \n )\n})","import React, { memo } from 'react';\nimport { useTranslate } from 'react-polyglot';\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\nconst DeleteCampaign = memo(function DeleteCampaign(props) {\n const t = useTranslate();\n return (\n
\n

{t('pages.campaigns.modal.delete.msg')}

\n

{t('pages.campaigns.modal.delete.msgBody')}

\n {\n e.preventDefault();\n props.setOpen(false);\n }}\n onClickAccept={\n props.data.removeProjectAndExperiences\n }\n >\n
\n )\n})\n\n\nexport default DeleteCampaign\n","import React, {useState, useContext} from 'react';\nimport {navigate} from \"@reach/router\";\nimport {Badge} from '@rmwc/badge';\nimport {useTranslate} from 'react-polyglot';\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\n\nimport ElipsisMenu from '../../components/elipsisMenu';\nimport ChangeProjectName from '../../components/actions/ChangeProjectName';\nimport AppContext from '../../components/app/AppContext';\nimport CampaignService from '../../services/Campaign';\nimport Modal from '../../components/modal/modal';\nimport Confirm from '../../components/actions/Confirm';\nimport CheckPermission from '../../components/checkPermision/checkPermision';\nimport {userGroupsObject} from '../../utils/userGroups';\nimport {UserContext} from \"../../context/UserContext\";\nimport Slider from \"react-slick\";\n\nimport ExperienceService from '../../services/Experience';\nimport CustomMonoriel from '../../services/CustomMonoriel'\nimport './campaignListItem.scss';\nimport '@rmwc/badge/badge.css';\nimport PrevArrowComponent from \"../../components/layout/PrevArrowComponent\";\nimport NextArrowComponent from \"../../components/layout/NextArrowComponent\";\nimport { CardHomeStudio } from './CardHomeStudio';\nimport DeleteCampaign from '../../components/actions/DeleteCampaign';\n\nfunction CampaingListItem(props) {\n const context = useContext(AppContext);\n const t = useTranslate();\n const [expand, setExpand] = useState(true);\n const [edit, setEdit] = useState(false);\n const [cmpDataObj, setCmpDataObj] = useState({});\n const {userData, navLinks, setNavLinks} = useContext(UserContext);\n\n const hasUserURL = () => {\n let paths = window.location.pathname.split('/');\n let userId = paths.length > 1 ? paths[2] : '';\n return userId\n };\n\n function goToCampaign() {\n setNavLinks([...navLinks, ...[{\n id: props.campaign.id,\n name: props.campaign.name,\n tab: 'project'\n }]]);\n if (hasUserURL()) {\n window.location.pathname += `/project/${props.campaign.id}`\n } else {\n navigate(`/campaign/${props.campaign.id}`);\n }\n }\n\n async function editProject(value) {\n try {\n const res = await CampaignService.editCampaign({name: value}, this);\n props.reload(res);\n } catch (error) {\n\n }\n }\n\n function removeProject(id) {\n CampaignService.removeCampaign(id)\n .then(() => context.page.refetch())\n .catch(err => console.log(err));\n }\n\n function handleChangeProjectName() {\n const actionsDialogData = {\n title: t('pages.campaigns.modal.edit.title'),\n componentData: props.campaign.name,\n component: ChangeProjectName,\n componentKey: props.campaign.id,\n buttonLess: true,\n action: editProject.bind(props.campaign.id)\n };\n setCmpDataObj({...actionsDialogData});\n setEdit(true);\n }\n async function deleteExperience(id,publicAlias) {\n try {\n let response = await ExperienceService.delete(id);\n response = await CustomMonoriel.deleteCletusAlias(publicAlias);\n return response;\n\n } catch (error) {\n throw new Error(error);\n }\n }\n function removeProjectAndExperiences (id,experiences){\n experiences.map((e) => {\n if(e.experienceTypeId == 5){\n return deleteExperience(e.id,e.link.public_alias)\n }\n })\n removeProject(id) \n }\n function handleDelete() {\n const actionsDialogData = {\n title: t('pages.campaigns.modal.delete.title'),\n componentData: {\n removeProjectAndExperiences: () => removeProjectAndExperiences(props.campaign.id, props.campaign.experiences)\n },\n component: DeleteCampaign,\n componentKey: props.campaign.id,\n buttonLess: true\n };\n setCmpDataObj({...actionsDialogData})\n setEdit(true);\n }\n\n function handleEditCustomLoader() {\n navigate('/customLoader/campaign/' + props.campaign.id);\n }\n\n const isFreelance = () => context.userGroups.includes(userGroupsObject.FreelanceUsers);\n\n function goToReports() {\n navigate(`${process.env.REACT_APP_REPORTS_V2}/goto?company_id=${props.campaign.experiences[0].companyId}&campaign_id=${props.campaign.id}`);\n }\n\n const canSeeReport = () => {\n if (context.userGroups.includes(userGroupsObject.CompanyUsers)) {\n return context.userData.company ? context.userData.company.canSeeReport : false;\n }\n return true;\n };\n\n const chunkArray = (myArray, chunk_size) => {\n let results = [];\n while (myArray.length) {\n results.push(myArray.splice(0, chunk_size));\n }\n return results;\n };\n\n const isAdmin = () => {\n if (context.userGroups.find(e => e === 'CamonappAdminUsers') !== undefined) {\n return 'Admin'\n }\n };\n const isEditor = () => {\n if (context.userGroups.find(e => e === 'CamonappUsers') !== undefined) {\n return 'Editor'\n }\n };\n \n const settings = {\n className: \"slider variable-width\",\n dots: false,\n infinite: false,\n variableWidth: true,\n speed: 500,\n slidesToShow: 5,\n slidesToScroll: 5,\n initialSlide: 0,\n prevArrow: ,\n nextArrow: ,\n responsive: [\n {\n breakpoint: 1800,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n infinite: false,\n dots: false\n }\n },\n {\n breakpoint: 1650,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n infinite: false,\n dots: false\n }\n },\n {\n breakpoint: 1400,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 3,\n infinite: false,\n dots: false\n }\n },\n {\n breakpoint: 1200,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n initialSlide: 1\n }\n },\n {\n breakpoint: 870,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1\n }\n }\n ]\n };\n\n return (\n \n
\n {props.campaign.name}\n {t('pages.campaigns.openProject')}\n
\n
\n \n {props.campaign.experiences && props.campaign.experiences.length ? props.campaign.experiences.length > 1 ? `${props.campaign.experiences.length} ${t('pages.campaigns.experiences')}` : `${props.campaign.experiences.length} ${t('pages.campaigns.experience')}` : 0}\n \n
\n\n \n
\n {t('pages.campaigns.actions.changeName')}\n
\n {\n isAdmin() ?
{\n props.openUserMigrationDialog();\n props.setSelectedCampaign(props.campaign.id);\n }}>\n {t('pages.campaigns.actions.migProject')}\n
: null\n }\n
\n {t('pages.campaigns.actions.delete')}\n
\n
\n {t('pages.campaigns.actions.editCustomLoader')}\n
\n goToReports()}>\n {t('pages.campaigns.actions.viewReport')} \n
\n )}\n groups={[\n userGroupsObject.CamonappUsers,\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.CamonappSalesUsers,\n userGroupsObject.CompanyUsers,\n userGroupsObject.FreelanceUsers,\n userGroupsObject.FreelancePaidUsers,\n ]}\n />\n \n\n\n
\n \n {props.campaign.experiences && props.campaign.experiences.length ? {\n console.log(e)\n }} data-key={`${props.campaign.id}`} {...settings}>\n {props.campaign.experiences.map((experience, index) => {\n return (\n \n )\n })}\n : null}\n {edit &&\n {\n setEdit(false)\n }}/>\n }\n\n \n )\n}\n\nexport default CampaingListItem;\n","export const getRandomRgba = () => {\n let o = Math.round, r = Math.random, s = 255;\n return 'rgba(' + o(r() * s) + ',' + o(r() * s) + ',' + o(r() * s) + ',' + r().toFixed(1) + ')';\n};\n\nexport const hasSessionExpired = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const error = urlParams.get('error');\n return error === 'session_expired';\n};\n\nexport const checkSessionExpired = () => {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const experienceId = urlParams.get('experience');\n if (hasSessionExpired()) {\n window.location.replace(`${process.env.REACT_APP_EDITOR_DOMAIN}?id=${experienceId}`);\n }\n};\n\nexport const isMobile = () => {\n const regex = /Mobi|Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i;\n return regex.test(navigator.userAgent);\n}","import React, {useState, useEffect} from 'react';\nimport {Button, Modal, InputGroup, AutoComplete, Icon} from \"rsuite\";\nimport { useTranslate } from 'react-polyglot';\n\nimport userService from \"../../services/User\";\n\nconst MigrateUserProjectDialog = ({open, setOpenMigrateDialog, onMigrate}) => {\n const [users, setUsers] = useState([]);\n const [selectedUser, setSelectedUser] = useState('');\n const [query, setQuery] = useState('');\n const [enabled, setEnabled] = useState(false);\n const [dataForSearch, setDataForSearch] = useState([]);\n const t = useTranslate();\n\n\n const findUser = () => {\n let user = dataForSearch.find(e => e.string === selectedUser);\n if (user) {\n return {\n id: user.value.id\n }\n }\n };\n\n const onSearch = (e) => {\n setQuery(e);\n if (e.length >= 4) {\n userService.getUsers(false, 1, 20, {name: query, surname: query, email: query})\n .then(res => {\n let formattedData = res.data.map((user) => {\n return `${user.surname ? user.surname : ''} ${user.name ? user.name : ''} (${user.email})`;\n });\n let dataForSearch = res.data.map((user) => {\n return {\n string: `${user.surname ? user.surname : ''} ${user.name ? user.name : ''} (${user.email})`,\n value: user\n }\n });\n setDataForSearch(dataForSearch);\n setUsers(formattedData);\n })\n }\n if (e.length === 0) {\n setSelectedUser('')\n }\n };\n\n useEffect(() => {\n setEnabled(selectedUser !== '');\n }, [selectedUser]);\n\n return (\n
\n {\n setOpenMigrateDialog(false)\n }}>\n \n {t('pages.campaigns.actions.migProject')}\n \n \n \n {\n setSelectedUser(e.value);\n }}/>\n \n \n \n \n \n \n \n \n \n \n
\n );\n};\n\nexport default MigrateUserProjectDialog;","import Loading from './loading';\nexport default Loading;","import React, { memo, useContext } from 'react'\nimport './loading.scss';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\n\nconst Loading = memo(function Loading(props) {\n\n const { \n showLoading,\n setShowLoading,\n overlayStyle, \n setOverlayStyle,\n } = useContext(ShowLoadingContext)\n\n return (\n
\n
\n
\n
\n
\n )\n})\n\nLoading.propTypes = {\n\n}\n\nexport default Loading\n","import React, {useEffect, useState, useContext, Fragment} from 'react';\nimport {useTranslate} from 'react-polyglot';\nimport AppContext from '../../components/app/AppContext';\nimport FilterBy from '../../components/Filters/FilterBy';\n\nimport CampaignListItem from './campaignListItem';\nimport campaignService from '../../services/Campaign';\nimport {navigate} from \"@reach/router\"\nimport './Home.scss';\nimport '@brainhubeu/react-carousel/lib/style.css';\nimport '@material/list/dist/mdc.list.css';\nimport '@rmwc/list/collapsible-list.css';\nimport {UserContext} from \"../../context/UserContext\";\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport {checkSessionExpired} from \"../../utils/utils\";\nimport MigrateUserProjectDialog from \"../../components/actionsDialog/MigrateUserProjectDialog\";\nimport {Card} from \"@rmwc/card\";\nimport CampaignService from \"../../services/Campaign\";\nimport AlertDialog from \"../../components/general/AlertDialog\";\nimport Loading from \"../../components/loading\";\nimport MigrationUserExperienceDialogComponent\n from \"../../components/actionsDialog/MigrationUserExperienceDialogComponent\";\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport {ChangeTargetDialogContext} from \"../../context/ChangeTargetDialogContext\";\nimport {ChangeNameDialogContext} from \"../../context/ChangeNameDialogContext\";\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\n\nfunction Home() {\n const t = useTranslate();\n const context = useContext(AppContext);\n const [campaigns, setCampaigns] = useState([]);\n const {userData} = useContext(UserContext);\n const { showLoading, setShowLoading, overlayStyle } = useContext(ShowLoadingContext)\n\n async function fetchData() {\n try {\n setShowLoading(true)\n let campaignsResponse = [];\n if (window.location.pathname === '/published') {\n campaignsResponse = await campaignService.listWithExperiencesPublished(userData.id);\n } else {\n campaignsResponse = await campaignService.listWithExperiences(userData.id);\n }\n setCampaigns(campaignsResponse.data);\n } catch (error) {\n openOnBoarding();\n } finally {\n setShowLoading(false)\n }\n }\n\n useEffect(() => {\n \n context.setPage({\n name: t('pages.campaigns.project'),\n refetch: fetchData\n });\n fetchData();\n checkSessionExpired();\n }, [, userData]);\n\n\n function openOnBoarding() {\n navigate('/onboarding')\n }\n\n const [selectedCampaign, setSelectedCampaign] = useState(null);\n const [openAlertDialog, setOpenAlertDialog] = useState(false);\n const [openUserExperienceDialog, setOpenUserExperienceDialog] = useState(false);\n\n const onMigrate = (selectedUser) => {\n context.setPage({\n loading: true\n });\n CampaignService.migrateCampaign(selectedCampaign, selectedUser)\n .then((res) => {\n fetchData();\n context.setPage({\n loading: false\n });\n context.page.refetch();\n }).catch((e) => {\n context.setPage({\n loading: false\n });\n setOpenMigrateDialog(false);\n setOpenAlertDialog(true);\n context.page.refetch();\n });\n };\n\n const [openMigrateDialog, setOpenMigrateDialog] = useState(false);\n const openUserMigrationDialog = () => {\n setOpenMigrateDialog(true);\n };\n\n //new Dialog\n const {MigrationUserExperienceDialog} = useContext(MigrateUserDialogContext);\n const {QRDialog} = useContext(QRDialogContext);\n const {ChangeTargetDialog} = useContext(ChangeTargetDialogContext);\n const {\n ChangeNameDialogComponent\n } = useContext(ChangeNameDialogContext);\n return (\n \n\n {showLoading && \n \n }\n\n \n \n {ChangeTargetDialog()}\n {QRDialog()}\n {MigrationUserExperienceDialog()}\n {ChangeNameDialogComponent()}\n\n\n \n \n {campaignsFiltered => (\n
\n
\n {campaignsFiltered && campaignsFiltered.map(camp =>\n {\n fetchData();\n }}/>\n )}\n
\n
\n )}\n
\n
\n\n );\n}\n\nexport default Home;\n","import Home from './Home';\nexport default Home;","import styled from 'styled-components';\nimport Icon from '../../components/icon';\n\nexport const ListContainer = styled.div`\n margin: 15px 0 15px 0;\n display: flex;\n flex-direction: column !important;\n background: ${props => props.name === 'rejected' ? \"url('/backgound.png')\" : 'none'};\n\n .list-container-header{\n margin: 15px 0 15px 0;\n display: flex;\n flex-direction: row;\n\n width: 100%;\n .header-actions{\n \n display: flex;\n flex-direction: row;\n margin-left: auto;\n .actions{\n display: flex;\n flex-direction: row;\n color: #292929;\n align-items: center;\n\n .value{\n font-family: Public Sans;\n font-style: normal;\n font-weight: normal;\n margin-right: 18px;\n font-size: 12px;\n color: #292929;\n }\n .quantity{\n font-family: 'Public Sans';\n font-style: normal;\n font-weight: normal;\n margin-right: 18px;\n font-size: 12px;\n color: #292929;\n width: 100px;\n text-align: center;\n border-left: solid;\n border-right: solid;\n border-left-width: thin;\n border-right-width: thin;\n border-color: rgba(41, 41, 41, 0.12 );\n }\n }\n }\n }\n`\n\nexport const Title = styled.span`\n font-family: Public Sans;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 24px;\n /* identical to box height, or 120% */\n\n display: flex;\n align-items: center;\n letter-spacing: -0.0125em;\n\n /* Neutrals / Black */\n\n color: #292929;\n`\nexport const IconWithStyle = styled(Icon)`\n\n font-size: 20px;\n line-height: 24px;\n`","import React, {useState} from 'react';\nimport {navigate} from \"@reach/router\";\nimport {useTranslate} from 'react-polyglot';\nimport Slider from \"react-slick\";\nimport PrevArrowComponent from \"../../components/layout/PrevArrowComponent\";\nimport NextArrowComponent from \"../../components/layout/NextArrowComponent\";\n\nimport {ListContainer, Title, IconWithStyle} from './Styles';\nimport { CardHomeStudio } from '../../pages/Home/CardHomeStudio';\n\n\n\nfunction StatusListItem({campaign, name, icon, status}) {\n const [expand, setExpand] = useState(true);\n const t = useTranslate();\n\n function goToCampaign() {\n navigate(`/experiences/${name}`);\n }\n\n const settings = {\n className: \"slider variable-width\",\n variableWidth: true,\n prevArrow: ,\n nextArrow: ,\n dots: false,\n infinite: false,\n speed: 500,\n slidesToShow: 5,\n slidesToScroll: 5,\n initialSlide: 0,\n responsive: [\n {\n breakpoint: 1800,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n infinite: false,\n dots: false\n }\n },\n {\n breakpoint: 1650,\n settings: {\n slidesToShow: 4,\n slidesToScroll: 4,\n infinite: false,\n dots: false\n }\n },\n {\n breakpoint: 1400,\n settings: {\n slidesToShow: 3,\n slidesToScroll: 3,\n infinite: false,\n dots: false\n }\n },\n {\n breakpoint: 1200,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n initialSlide: 1\n }\n },\n {\n breakpoint: 870,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1\n }\n }\n ]\n };\n\n\n return (\n \n
\n \n {t(name)}\n {t('pages.status.seeAll')}\n
\n \n {status && status.map((experience, index) => {\n return (\n (!experience.hide &&\n \n\n )\n )\n })\n }\n \n \n )\n}\n\nexport default StatusListItem","import React, {memo, useEffect, useState, useContext, Fragment} from 'react';\nimport {useTranslate} from 'react-polyglot';\n\nimport AppContext from '../../components/app/AppContext';\nimport StatusListItem from './StatusListItem';\nimport experienceService from '../../services/Experience';\n\nimport '@brainhubeu/react-carousel/lib/style.css';\nimport '@material/list/dist/mdc.list.css';\nimport '@rmwc/list/collapsible-list.css';\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport {ChangeTargetDialogContext} from \"../../context/ChangeTargetDialogContext\";\nimport {ChangeNameDialogContext} from \"../../context/ChangeNameDialogContext\";\nimport Loading from '../../components/loading';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\n\nconst Status = memo(function Status() {\n const context = useContext(AppContext);\n const [expByStatuses, setExpByStatuses] = useState(false);\n const t = useTranslate();\n\n const { \n showLoading,\n setShowLoading,\n overlayStyle, \n setOverlayStyle,\n } = useContext(ShowLoadingContext)\n\n \n\n async function fetchData() {\n\n try {\n setShowLoading(true)\n setOverlayStyle(\"loading-overlay-projects\")\n\n let expResponse = []\n\n expResponse = await experienceService.listByStatuses();\n\n setExpByStatuses(expResponse);\n setShowLoading(false)\n } catch (error) {\n //openOnBoarding();\n } finally {\n setShowLoading(false)\n }\n\n }\n\n useEffect(() => {\n context.setPage({\n name: t('pages.status.statusExp'),// 'Estado de tus experiencias',\n hideFilters: true,\n refetch: fetchData\n });\n\n fetchData();\n }, []);\n\n const {MigrationUserExperienceDialog} = useContext(MigrateUserDialogContext);\n const {QRDialog} = useContext(QRDialogContext);\n const {ChangeTargetDialog} = useContext(ChangeTargetDialogContext);\n const {\n ChangeNameDialogComponent\n } = useContext(ChangeNameDialogContext);\n return (\n
\n {QRDialog()}\n {MigrationUserExperienceDialog()}\n {ChangeTargetDialog()}\n {ChangeNameDialogComponent()}\n \n {showLoading && \n \n }\n
\n {expByStatuses &&\n
\n {expByStatuses.published.length > 0 && (\n {\n fetchData();\n }}/>)}\n {expByStatuses.inRevision.length > 0 && (\n {\n fetchData();\n }}/>)}\n {expByStatuses.unpublished.length > 0 && (\n {\n fetchData();\n }}/>)}\n {expByStatuses.rejected.length > 0 && (\n {\n fetchData();\n }}/>)}\n
\n }\n
\n
\n );\n})\n\n\nexport default Status\n","import React from 'react';\nimport { Link } from '@reach/router'\n\nfunction NavLink(props) {\n return (\n {\n\n return {\n className: isCurrent ? 'active' : ''\n };\n }}\n />\n )\n}\n\nexport default NavLink;\n","import moment from \"moment\";\n\nexport const formatNumber = (value) => {\n return value.toLocaleString(localStorage.lang);\n};\n\nexport const validRolesToGetCompany = ['CompanyUsers', 'FreelancePaidUsers', 'FreelanceUsers'];\n\n/**\n *\n * @returns {[{styles: {padding: number}, check: boolean, sortable: boolean, text: string}, {width: number, fixed: boolean, check: boolean, sortable: boolean, text: string, key: string}, {width: number, fixed: boolean, check: boolean, sortable: boolean, text: string, key: string}]}\n */\nexport const getColumnsInitialState = () => {\n return [\n {\n checkvalid: 'x', fixed: true, sortable: false, text: '', styles: { padding: 0 }\n }, {\n checkvalid: '',\n sortable: true,\n flexGrow: 1,\n text: 'pages.reports.headTable.company',\n key: 'company_name'\n }, {\n checkvalid: '',\n sortable: true,\n text: 'pages.reports.headTable.views',\n key: 'scansString'\n },\n {\n buttonvalid: 'x',\n checkvalid: '',\n text: 'pages.reports.headTable.filter',\n fixed: 'right'\n }]\n};\n\nexport const getCompanyColumns = () => {\n return [\n {\n styles: { padding: 0 }, checkvalid: 'x', fixed: true, sortable: false, text: ''\n }, {\n checkvalid: '',\n sortable: true,\n text: 'pages.reports.headTable.campaign',\n flexGrow: 1,\n key: 'campaign_name'\n }, {\n checkvalid: '',\n sortable: true,\n text: 'pages.reports.headTable.views',\n key: 'scansString'\n },\n {\n buttonvalid: 'x',\n checkvalid: '',\n text: 'pages.reports.headTable.filter',\n }]\n};\n\n\nexport const getCampaignColumns = () => {\n return [\n {\n styles: { padding: 0 }, checkvalid: 'x', sortable: false, text: ''\n }, {\n checkvalid: '',\n sortable: true,\n fixed: false,\n flexGrow: 1,\n text: 'pages.reports.headTable.experience',\n key: 'experience_name'\n }, {\n checkvalid: '',\n sortable: true,\n fixed: false,\n text: 'pages.reports.headTable.views',\n key: 'scansString'\n }, {\n buttonvalid: 'x',\n checkvalid: '',\n text: 'Filtrar',\n }];\n};\n\nexport const getExperienceColumns = () => {\n return [\n {\n checkvalid: '',\n sortable: true,\n fixed: false,\n width: 700,\n text: 'pages.reports.headTable.actionType',\n key: 'name'\n }, {\n checkvalid: '',\n sortable: true,\n fixed: false,\n width: 100,\n text: 'pages.reports.headTable.quantity',\n key: 'scansString'\n }];\n};\n\n\n/**\n *\n * @param initialData\n * @returns {string}\n */\nexport const getFilters = (initialData, idFilters = '') => {\n let fromFormatted = moment(initialData.from, 'DD-MM-YYYY').format('YYYY-MM-DD');\n let toFormatted = moment(initialData.to, 'DD-MM-YYYY').format('YYYY-MM-DD');\n const { from, to, company_id, campaign_id, experience_id, ids } = initialData;\n let query;\n if (from && to) {\n query = `?from=${fromFormatted}&to=${toFormatted}`;\n }\n if (from && to && company_id) {\n query = `?from=${fromFormatted}&to=${toFormatted}&company_id=${company_id}`;\n }\n if (from && to && company_id && campaign_id) {\n query = `?from=${fromFormatted}&to=${toFormatted}&company_id=${company_id}&campaign_id=${campaign_id}`;\n }\n if (from && to && company_id && campaign_id && experience_id) {\n query = `?from=${fromFormatted}&to=${toFormatted}&company_id=${company_id}&campaign_id=${campaign_id}&experience_id=${experience_id}`;\n }\n \n query += `${ids && ids !== idFilters ? `&ids=${ids}` : ''}`;\n\n return query\n};\n\n\nexport const getRGBTableHorizontalGraph = () => {\n return 'rgba(52, 135, 240, 1)';\n};\n\nexport const getRGBDoughnut = (i, osLength) => {\n let colors = [\"#3586ef\", \"#fe2ab3\", \"#866be0\", \"#e140c2\", \"#bc54d1\"];\n if (osLength === colors.length) {\n return colors ? colors[i] : '';\n } else {\n if (i < colors.length - 1) {\n return colors[i];\n } else {\n colors.push(\"#3586ef\", \"#fe2ab3\", \"#866be0\", \"#e140c2\", \"#bc54d1\", \"#3586ef\", \"#fe2ab3\", \"#866be0\", \"#e140c2\", \"#bc54d1\", \"#3586ef\", \"#fe2ab3\", \"#866be0\", \"#e140c2\", \"#bc54d1\")\n return colors[i];\n }\n }\n\n};\n\nexport const getRGBDoughnutCountries = (e, i) => {\n let colors = [\"#3586ef\", \"#fe2ab3\", \"#866be0\", \"#e140c2\", \"#bc54d1\"];\n if (e.country === 'Others') {\n return \"#929caf\"\n } else {\n if (i < colors.length - 1) {\n return colors[i];\n } else {\n colors.push(\"#3586ef\", \"#fe2ab3\", \"#866be0\", \"#e140c2\", \"#bc54d1\", \"#3586ef\", \"#fe2ab3\", \"#866be0\", \"#e140c2\", \"#bc54d1\", \"#3586ef\", \"#fe2ab3\", \"#866be0\", \"#e140c2\", \"#bc54d1\")\n return colors[i];\n }\n }\n\n};\n\n","import React, {useEffect, useState} from 'react';\nimport {Row, Col} from \"react-flexbox-grid\";\nimport {Button} from \"@rmwc/button\";\nimport {DateRangePicker, Breadcrumb} from 'rsuite';\nimport moment from \"moment\";\nimport { useTranslate } from 'react-polyglot';\n\nimport './ReportHeader.scss';\nimport NavLink from '../menu/navLink';\nimport {\n getCampaignColumns,\n getColumnsInitialState,\n getCompanyColumns,\n getExperienceColumns\n\n} from \"../../pages/Reports/ReportUtils\";\n\nconst ReportHeader = ({\n initialFilterData, setInitialData, setLoading, navLinks, setNavLinks, setColumns, downloadReport, setOpen\n }) => {\n const {from, to, company_id, campaign_id} = initialFilterData;\n const {\n allowedRange,\n } = DateRangePicker;\n const t = useTranslate();\n\n const checkRoute = (e) => {\n e.preventDefault();\n let data, index, spliced, colTemplate;\n switch (e.target.pathname) {\n case '/reports':\n data = {\n //from: moment().startOf('month').format('YYYY-MM-DD'),\n // to: moment().subtract(1, \"days\").format(\"YYYY-MM-DD\"),\n company_id: '',\n campaign_id: '',\n experience_id: '',\n ids: ''\n };\n let filtered = navLinks.filter(e => e.tab === '/reports');\n colTemplate = getColumnsInitialState();\n setColumns(colTemplate);\n setNavLinks(filtered);\n setInitialData({...initialFilterData, ...data});\n break;\n case '/date':\n data = {\n from: e.target.innerText,\n to: e.target.innerText,\n company_id: '',\n campaign_id: '',\n experience_id: '',\n ids: ''\n };\n index = navLinks.findIndex(e => e.tab === '/date');\n spliced = navLinks.splice(0, index + 1);\n setNavLinks(spliced);\n setInitialData({...initialFilterData, ...data});\n break;\n case '/company':\n data = {\n from: from,\n to: to,\n company_id: e.target.dataset['key'],\n campaign_id: '',\n experience_id: '',\n ids: ''\n };\n index = navLinks.findIndex(e => e.tab === '/company');\n spliced = navLinks.splice(0, index + 1);\n colTemplate = getCompanyColumns();\n setColumns(colTemplate);\n setNavLinks(spliced);\n setInitialData({...initialFilterData, ...data});\n break;\n case '/campaign':\n data = {\n from: from,\n to: to,\n company_id: company_id,\n campaign_id: e.target.dataset['key'],\n experience_id: '',\n ids: ''\n };\n colTemplate = getCampaignColumns();\n setColumns(colTemplate);\n index = navLinks.findIndex(e => e.tab === '/campaign');\n spliced = navLinks.splice(0, index + 1);\n setNavLinks(spliced);\n setInitialData({...initialFilterData, ...data});\n break;\n case '/experience':\n data = {\n from: from,\n to: to,\n company_id: company_id,\n campaign_id: campaign_id,\n experience_id: e.target.dataset['key'],\n ids: ''\n };\n index = navLinks.findIndex(e => e.tab === '/experience');\n spliced = navLinks.splice(0, index + 1);\n colTemplate = getExperienceColumns();\n setColumns(colTemplate);\n setNavLinks(spliced);\n setInitialData({...initialFilterData, ...data});\n break;\n\n }\n };\n\n const getKeyRef = (e) => {\n if (e.tab === '/company')\n return e.company_id;\n if (e.tab === '/campaign')\n return e.campaign_id;\n if (e.tab === '/experience')\n return e.experience_id;\n return ''\n };\n\n return (\n \n \n \n {navLinks.map((e) => (\n {e.text}))\n }\n \n \n \n \n {\n setLoading(true);\n setInitialData({\n ...initialFilterData, ...{\n from: moment(dates[0]).format(\"DD-MM-YYYY\"),\n to: moment(dates[1]).format(\"DD-MM-YYYY\")\n }\n\n });\n }}/>\n {\n setOpen(true);\n downloadReport();\n }}\n icon='cloud_download'\n label={t('pages.reports.downloadReport')}\n raised\n />\n \n \n \n );\n};\n\nexport default ReportHeader","import React from 'react';\nimport {formatNumber} from \"../../pages/Reports/ReportUtils\";\n\nconst OverviewTile = ({value, title, color, seconds}) => {\n\n return (\n
\n

{formatNumber(value)} {seconds ? seconds : ''}

\n

{title}

\n
\n
\n
\n );\n};\n\nexport default OverviewTile;","import React from 'react';\nimport {Row, Col} from \"react-flexbox-grid\";\nimport {useTranslate} from 'react-polyglot';\n\nimport OverviewTile from \"./OverviewTile\";\nimport './ReportOverViewData.scss';\n\nconst ReportOverViewData = ({data}) => {\n const t = useTranslate();\n const {totalScans, totalUsers, interactionTime} = data;\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ReportOverViewData;","import React from 'react';\nimport {Row, Col} from \"react-flexbox-grid\";\nimport './ReportGraphicBarChart.scss'\nimport {Bar} from \"react-chartjs-2\";\nimport {useTranslate} from 'react-polyglot';\n\nimport {formatNumber, getRGBTableHorizontalGraph} from \"../../pages/Reports/ReportUtils\";\n\nconst ReportGraphicBarChart = ({\n data, setInitialData, initialData, setLoading, navLinks,\n setNavLinks\n }) => {\n const t = useTranslate();\n const options = {\n tooltips: {\n callbacks: {\n label: function (tooltipItem, data) {\n let dataset = data.datasets[tooltipItem.datasetIndex];\n return `${t('pages.reports.viewForDay')}: ${formatNumber(dataset.data[tooltipItem.index])}`\n },\n }\n },\n responsive: true,\n legend: {\n display: false\n },\n maintainAspectRatio: false,\n scales: {\n yAxes: [\n {\n ticks: {\n beginAtZero: true,\n userCallback: function (value, index, values) {\n // Convert the number to a string and splite the string every 3 charaters from the end\n value = value.toString();\n value = value.split(/(?=(?:...)*$)/);\n value = value.join(localStorage.lang === 'es' ? '.' : ',');\n return value;\n }\n }\n },\n ],\n },\n };\n\n const dataChart = {\n labels: data.daily.map(e => e.date),\n datasets: [\n {\n label: t('pages.reports.viewForDay'), // 'Numero de vistas por dia',\n data: data.daily.map(e => e.scans),\n backgroundColor: data.daily.map(e => getRGBTableHorizontalGraph()),\n borderColor: data.daily.map(e => getRGBTableHorizontalGraph()),\n borderWidth: 1,\n },\n ],\n };\n\n const setNewDate = (e) => {\n let chart = e[0];\n if (chart) {\n let date = chart._model.label;\n if (!routeFoundOnBreadCrumb(date)) {\n setLoading(true);\n setInitialData({...initialData, ...{from: date, to: date}})\n }\n }\n };\n\n const routeFoundOnBreadCrumb = (dateText) => {\n let dateFound = navLinks.find(e => e.text === dateText);\n return !!dateFound;\n };\n\n return (\n \n \n

{t('pages.reports.statistics')}

\n \n \n

{t('pages.reports.cantView')}

\n \n \n \n \n
\n );\n};\n\nexport default ReportGraphicBarChart;","import React, {useEffect, useState} from 'react';\nimport {Table, Checkbox, Button} from \"rsuite\";\nimport {useTranslate} from 'react-polyglot';\n\nimport {\n formatNumber,\n getCampaignColumns,\n getCompanyColumns,\n getExperienceColumns\n} from \"../../pages/Reports/ReportUtils\";\n\nconst TableComponent = ({\n data, setInitialData, initialData, setLoading,\n navLinks, setNavLinks, columns,\n setColumns, withQuery\n }) => {\n const {HeaderCell, Cell, Column} = Table;\n const dataTable = data.table;\n dataTable.forEach(e => {\n e.scans = parseInt(e.scans);\n e.scansString = formatNumber(e.scans)\n });\n const [loadingTable,] = useState(false);\n const [sortColumn, setSortColumn] = useState('');\n const [sortType, setSortType] = useState('asc');\n const [checkedKeys, setCheckedKeys] = useState([]);\n const [enabledFilter, setEnabledFilter] = useState(true);\n\n const t = useTranslate();\n\n useEffect(() => {\n if (checkedKeys.length > 0) {\n setEnabledFilter(false);\n } else {\n setEnabledFilter(true);\n }\n }, [checkedKeys]);\n\n const handleCheckAll = (value, checked) => {\n let keyAttr;\n if (initialData.from && initialData.to) {\n keyAttr = 'company_id'\n }\n if (initialData.from && initialData.to && initialData.company_id) {\n keyAttr = 'campaign_id'\n }\n if (initialData.from && initialData.to && initialData.company_id && initialData.campaign_id) {\n keyAttr = 'experience_id'\n }\n const checkedKeys = checked ? dataTable.map(item => item[keyAttr]) : [];\n setCheckedKeys(checkedKeys);\n };\n\n const handleCheck = (value, checked) => {\n const nextCheckedKeys = checked\n ? [...checkedKeys, value]\n : checkedKeys.filter(item => item !== value);\n\n setCheckedKeys(nextCheckedKeys);\n };\n\n const handleFilter = () => {\n let values = checkedKeys.join(',');\n setInitialData({...initialData, ...{ids: values}});\n };\n\n const getKeyRef = () => {\n if (navLinks[navLinks.length - 1].tab === '/reports')\n return 'company_id';\n if (navLinks[navLinks.length - 1].tab === '/company')\n return 'campaign_id';\n if (navLinks[navLinks.length - 1].tab === '/campaign')\n return 'experience_id';\n return ''\n };\n\n const CheckCell = ({rowData, onChange, checkedKeys, dataKey, ...props}) => (\n \n
\n item === rowData[dataKey])}\n />\n
\n
\n );\n\n const getData = () => {\n if (sortColumn && sortType) {\n return dataTable.sort((a, b) => {\n let x = sortColumn === 'scansString' ? a['scans'] : a[sortColumn];\n let y = sortColumn === 'scansString' ? b['scans'] : b[sortColumn];\n if (typeof x === 'string') {\n x = x.charCodeAt();\n }\n if (typeof y === 'string') {\n y = y.charCodeAt();\n }\n if (sortType === 'asc') {\n return x - y;\n } else {\n return y - x;\n }\n });\n }\n return dataTable;\n };\n\n const handleSortColumn = (sortColumn, sortType) => {\n setSortColumn(sortColumn);\n setSortType(sortType);\n setSortColumn(sortColumn);\n setSortType(sortType);\n };\n\n\n let checkedVal = false;\n let indeterminateVal = false;\n\n if (checkedKeys.length === dataTable.length) {\n checkedVal = true\n } else if (checkedKeys.length === 0) {\n checkedVal = false\n } else if (checkedKeys.length > 0 && checkedKeys.length < dataTable) {\n indeterminateVal = true;\n }\n\n // TODO: Como hay un solo uso de esta table el style de la clase Cell esta harcodeado, pero\n // deberia recibirlo por parametro como setColumns con su configuracion en ReportUtils.js\n return (\n
\n {\n if (event.target.className === \"rs-checkbox-wrapper\") return;\n if (!initialData.company_id) {\n let tab = [{tab: '/company', company_id: data.company_id, text: data.company_name}];\n setNavLinks([...navLinks, ...tab]);\n setLoading(true);\n setInitialData({\n ...initialData, ...{\n company_id: data.company_id\n }\n });\n let colTemplate = getCompanyColumns();\n setColumns(colTemplate);\n } else {\n if (!initialData.campaign_id) {\n let tab = [{tab: '/campaign', campaign_id: data.campaign_id, text: data.campaign_name}];\n setNavLinks([...navLinks, ...tab]);\n setLoading(true);\n setInitialData({\n ...initialData, ...{\n campaign_id: data.campaign_id\n }\n });\n let colTemplate = getCampaignColumns();\n setColumns(colTemplate);\n } else {\n if (!initialData.experience_id) {\n let tab = [{\n tab: '/experience',\n experience_id: data.experience_id,\n text: data.experience_name\n }];\n setNavLinks([...navLinks, ...tab]);\n setLoading(true);\n setInitialData({\n ...initialData, ...{\n experience_id: data.experience_id\n }\n });\n let colTemplate = getExperienceColumns();\n setColumns(colTemplate)\n }\n }\n }\n }}\n >\n {columns.map(e => (\n \n \n {e.checkvalid === 'x' ?\n
\n \n
: e.buttonvalid === 'x' ?\n : t(e.text)}\n
\n {e.checkvalid === 'x' ? : }\n
\n ))}\n
\n
\n );\n};\n\nexport default TableComponent;","import React from 'react';\nimport {Col, Row} from \"react-flexbox-grid\";\nimport {Pie} from \"react-chartjs-2\";\nimport {useTranslate} from 'react-polyglot';\n\nimport TableComponent from \"./TableComponent\";\nimport {getRGBDoughnutCountries, getRGBDoughnut, formatNumber} from \"../../pages/Reports/ReportUtils\";\n\nconst ReportTableDemographicChart = ({\n data, setInitialData, initialData, setLoading, company,\n setCompany,\n campaign,\n setCampaign, navLinks, setNavLinks, columns,\n setColumns, withQuery\n }) => {\n const t = useTranslate();\n const option = {\n legend: {\n display: false\n },\n tooltips: {\n callbacks: {\n label: function (tooltipItem, data) {\n let dataset = data.datasets[tooltipItem.datasetIndex];\n let meta = dataset._meta[Object.keys(dataset._meta)[0]];\n let total = meta.total;\n let currentValue = dataset.data[tooltipItem.index];\n let percentage = parseFloat((currentValue / total * 100).toFixed(1));\n return `${formatNumber(currentValue)} (${percentage}%)`;\n },\n title: function (tooltipItem, data) {\n return data.labels[tooltipItem[0].index];\n }\n }\n }\n };\n\n const dataCountries = {\n responsive: true,\n maintainAspectRatio: true,\n labels: data.country.map(e => e.country),\n datasets: [{\n label: '% of countries',\n data: data.country.map(e => e.scans),\n backgroundColor: data.country.map((e, i) => getRGBDoughnutCountries(e, i)),\n borderColor: data.country.map((e, i) => getRGBDoughnutCountries(e, i)),\n borderWidth: 1\n }]\n };\n\n const dataDevices = {\n responsive: true,\n maintainAspectRatio: true,\n labels: data.os.map(e => e.os),\n datasets: [{\n label: '% of devices',\n data: data.os.map(e => e.scans),\n backgroundColor: data.os.map((e, i) => getRGBDoughnut(i, data.os.length)),\n borderColor: data.os.map((e, i) => getRGBDoughnut(i, data.os.length)),\n borderWidth: 1\n }]\n };\n\n return (\n \n \n
\n \n
\n \n \n
\n \n \n

{t('pages.reports.demographicData')}

\n \n \n \n

{t('common.labels.country')}

\n \n \n \n

{t('pages.reports.so')}

\n \n
\n
\n \n
\n );\n};\n\nexport default ReportTableDemographicChart;","import request from '../utils/request';\n\nclass ReportsService {\n /**\n *\n * @param filters\n * @returns {Promise<*|undefined>}\n */\n static async getAnalyticsData(filters) {\n //de npp a kiwi\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/reports${filters}`)\n }\n\n static async test() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/reportsTest`)\n }\n\n static async exportExcel(filters) {\n //de npp a kiwi\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/excelexport${filters}`,\n { responseType: 'blob' }\n )\n }\n\n static async exportAG(filters) {\n //de npp a kiwi\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/reports/export${filters}`);\n }\n\n static async sendReportEmail() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/email`);\n }\n}\n\nexport default ReportsService;","import React, { useContext, useEffect, Fragment, useState } from 'react';\nimport { useTranslate } from 'react-polyglot';\n\nimport AppContext from \"../../components/app/AppContext\";\nimport ReportHeader from \"../../components/Reports/ReportHeader\";\nimport ReportOverViewData from \"../../components/Reports/ReportOverViewData\";\nimport ReportGraphicBarChart from \"../../components/Reports/ReportGraphicBarChart\";\nimport ReportTableDemographicChart from \"../../components/Reports/ReportTableDemographicChart\";\nimport { navigate } from '@reach/router';\nimport './Reports.scss'\nimport ReportsService from \"../../services/Reports\";\nimport moment from \"moment\";\nimport {\n getCompanyColumns,\n getCampaignColumns,\n getColumnsInitialState,\n getFilters,\n getExperienceColumns\n} from \"./ReportUtils\";\nimport userService from \"../../services/User\";\nimport AlertDialog from \"../../components/general/AlertDialog\";\nimport { validRolesToGetCompany } from \"./ReportUtils\";\nimport { userGroupsObject } from \"../../utils/userGroups\";\n\nconst col = getColumnsInitialState();\n\nconst Reports = () => {\n //initial state of the application.\n const context = useContext(AppContext);\n //initial state for the query search on analytics, we take from this day, 2 days before plus one.\n // ex --> if we enter at 11/03/2020 the initial from and to will be 9/03/2020 and 10/03/2020\n const [initialData, setInitialData] = useState({\n from: moment().startOf('month').format('DD-MM-YYYY'),\n to: moment().subtract(1, \"days\").format(\"DD-MM-YYYY\"),\n company_id: '',\n campaign_id: '',\n experience_id: ''\n });\n\n /**\n * STATES\n */\n const [company, setCompany] = useState({\n id: '',\n company_name: ''\n });\n const [firstCallData, setFirstCallData] = useState(false);\n const [campaign, setCampaign] = useState('');\n const [data, setData] = useState({});\n\n const t = useTranslate();\n\n const [loading, setLoading] = useState(true);\n const [navLinks, setNavLinks] = useState([{ tab: '/reports', text: t('pages.reports.tabs.allCompanies') }]);\n const [backButton, setBackButton] = useState('');\n const [insideDay, setInsideDay] = useState(false);\n const [columns, setColumns] = useState(col);\n const [withQuery, setWithQuery] = useState(false);\n\n const [companyNameTab, setCompanyNameTab] = useState(t('pages.reports.tabs.allCompanies'));\n const [campaignNameTab, setCampaignNameTab] = useState('');\n const [experienceNameTab, setExperienceNameTab] = useState('');\n const [idFilters, setIdFilters] = useState('');\n const [open, setOpen] = useState(false);\n\n\n useEffect(() => {\n setFirstCallData(true);\n if (company.id !== '') {\n setNavLinks([{ tab: '/company', company_id: company.id, text: company.name }]);\n setInitialData({ ...initialData, ...{ company_id: company.id } });\n let colTemplate;\n colTemplate = getCompanyColumns();\n setColumns(colTemplate);\n }\n }, [company]);\n\n useEffect(() => {\n if (withQuery)\n getAnalyticsData();\n }, [withQuery]);\n\n /**\n * EFFECT firing the FIRST TIME that the page render.\n */\n //effect to hide the main filters and to call first time filters\n useEffect(() => {\n context.setPage({\n name: 'Reportes',\n hideFilters: true,\n shortLayout: false,\n noRenderFilterContainer: true,\n loading: true\n });\n setLoading(true);\n if (window.location.search !== '') {\n let aTabs = [];\n const urlParams = new URLSearchParams(window.location.search);\n const company_id = urlParams.get('company_id') || '';\n let colTemplate;\n if (company_id) {\n aTabs.push({ tab: '/company', company_id: company_id, text: companyNameTab });\n colTemplate = getCompanyColumns();\n setColumns(colTemplate);\n }\n const campaign_id = urlParams.get('campaign_id') || '';\n if (campaign_id) {\n aTabs.push({ tab: '/campaign', campaign_id: campaign_id, text: t('pages.reports.tabs.campaign') });\n colTemplate = getCampaignColumns();\n setColumns(colTemplate);\n }\n const experience_id = urlParams.get('experience_id') || '';\n if (experience_id) {\n aTabs.push({\n tab: '/experience',\n experience_id: experience_id,\n text: t('pages.reports.tabs.experience')\n });\n colTemplate = getExperienceColumns();\n setColumns(colTemplate);\n }\n const from = urlParams.get('from') || moment().startOf('month').format('DD-MM-YYYY');\n const to = urlParams.get('to') || moment().subtract(1, \"days\").format(\"DD-MM-YYYY\");\n setInitialData({ ...initialData, ...{ company_id, campaign_id, experience_id, from, to } });\n setNavLinks(aTabs.length === 0 ? [{ tab: '/reports', text: t('pages.reports.tabs.allCompanies') }] : aTabs);\n setWithQuery(true);\n }\n }, []);\n\n useEffect(() => {\n if (window.location.search !== '') {\n let navLinks = [];\n if (initialData.company_id) {\n navLinks.push({ tab: '/company', company_id: initialData.company_id, text: companyNameTab });\n }\n if (initialData.campaign_id) {\n navLinks.push({ tab: '/campaign', campaign_id: initialData.campaign_id, text: campaignNameTab });\n }\n if (initialData.experience_id) {\n navLinks.push({ tab: '/experience', experience_id: initialData.experience_id, text: experienceNameTab });\n }\n setNavLinks(navLinks);\n }\n }, [companyNameTab, campaignNameTab, experienceNameTab]);\n\n let hasRoles = () => {\n let values = context.userGroups;\n let valid = false;\n for (let value of values) {\n valid = validRolesToGetCompany.includes(value);\n if (valid) {\n return valid\n }\n }\n return valid;\n };\n\n const getUserData = async () => {\n if (hasRoles()) {\n let user = await userService.getProfile();\n setCompany({ ...company, ...user.company });\n } else {\n if (window.location.search === '') {\n getAnalyticsData();\n }\n }\n };\n\n const canSeeReport = () => {\n return !!(context.userGroups.find(e => e === 'CamonappAdminUsers') !== undefined || context.userGroups.find(e => e === 'CompanyUsers') !== undefined || context.userGroups.find(e => e === 'FreelancePaidUsers') !== undefined || context.userGroups.find(e => e === 'CamonappSalesUsers') !== undefined);\n };\n\n /**\n * EFFECT that triggers every time the analytics data change the state\n */\n useEffect(() => {\n if (!canSeeReport()) {\n navigate('/');\n return;\n }\n setLoading(true);\n if (!firstCallData) {\n getUserData();\n } else {\n if (!withQuery)\n getAnalyticsData()\n }\n }, [initialData]);\n\n\n //function handler to get the analytics data\n const getAnalyticsData = async () => {\n try {\n context.setPage({\n name: t('pages.reports.reports'),\n hideFilters: true,\n shortLayout: false,\n noRenderFilterContainer: true,\n loading: true\n });\n let filters = getFilters(initialData, idFilters);\n const data = await ReportsService.getAnalyticsData(filters);\n setData(data);\n setCompanyNameTab(data.company_name);\n setCampaignNameTab(data.campaign_name);\n setExperienceNameTab(data.experience_name);\n setLoading(false);\n context.setPage({\n name: t('pages.reports.reports'),\n hideFilters: true,\n shortLayout: false,\n noRenderFilterContainer: true,\n loading: false\n });\n const {ids} = initialData\n setIdFilters(ids? ids:'');\n setWithQuery(false);\n } catch (e) {\n console.log(e)\n }\n };\n\n const downloadReport = async () => {\n try {\n let filters = getFilters(initialData);\n let formattedString = encodeURIComponent(context.userData.email);\n filters = filters.concat(`&user_id=${formattedString}&interactions=yes`);\n await ReportsService.exportAG(filters);\n } catch (e) {\n console.log(e)\n }\n };\n\n\n return loading ? null : \n \n \n \n \n \n\n \n};\n\nexport default Reports;","import React, {useState, useContext, useEffect, Fragment} from 'react';\nimport {Match} from \"@reach/router\";\nimport {useTranslate} from 'react-polyglot';\nimport AppContext from '../../components/app/AppContext';\nimport campaignService from '../../services/Campaign';\nimport FilterBy from \"../../components/Filters/FilterBy\";\nimport './Campaign.scss';\nimport {UserContext} from \"../../context/UserContext\";\nimport { CardHomeStudio } from '../../pages/Home/CardHomeStudio';\nimport Loading from '../../components/loading';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport { ChangeNameDialogContext } from '../../context/ChangeNameDialogContext';\nimport { MigrateUserDialogContext } from '../../context/MigrateExperienceUserDialogContext';\nimport { QRDialogContext } from '../../context/QRDialogContext';\nimport { ChangeTargetDialogContext } from '../../context/ChangeTargetDialogContext';\n\n\n/**\n * @deprecated\n * it is doesn't use\n * @param {*} props \n * @returns \n */\nfunction Campaign(props) {\n const t = useTranslate();\n const context = useContext(AppContext);\n const [campaign, setCampaign] = useState({});\n const [id, setId] = useState(null);\n const {userData, navLinks, setNavLinks} = useContext(UserContext);\n const { ChangeNameDialogComponent } = useContext(ChangeNameDialogContext);\n const {MigrationUserExperienceDialog} = useContext(MigrateUserDialogContext);\n const {QRDialog} = useContext(QRDialogContext);\n const {ChangeTargetDialog} = useContext(ChangeTargetDialogContext);\n\n const fetchData = () => campaignService.get(id, userData.id);\n\n const { \n showLoading,\n setShowLoading,\n setOverlayStyle,\n } = useContext(ShowLoadingContext)\n\n\n function refetch() {\n setOverlayStyle(\"loading-overlay-projects\")\n \n fetchData().then(res => {\n setCampaign(res);\n })\n \n }\n\n useEffect(() => {\n \n if (Object.keys(campaign).length === 0 && id !== null) {\n setShowLoading(true)\n fetchData()\n .then(res => {\n setCampaign(res);\n setOverlayStyle(\"loading-overlay-projects\")\n setNavLinks([{\n id: '',\n name: t('pages.campaigns.project'),\n tab: 'allprojects'\n }, {\n id: res.id,\n name: res.name,\n tab: 'project'\n }]);\n context.setPage({\n projectOpened: true,\n name: `${t('pages.campaign.projectBreadcrumb')} ${res.name}`,\n refetch\n });\n })\n .finally(()=>setShowLoading(false))\n }\n\n });\n\n function experiences() {\n return campaign.experiences ? campaign.experiences : [];\n }\n\n return (\n \n {ChangeTargetDialog()}\n {QRDialog()}\n {MigrationUserExperienceDialog()}\n {ChangeNameDialogComponent()}\n \n {props => {\n if (props.match) {\n setId(props.match.id);\n }\n return (\n
\n <>\n {showLoading && }\n {\n \n {result => (\n result.map((exp, index) => {\n return (\n \n )\n })\n )}\n \n }\n \n
\n )\n }}\n\n
\n
\n )\n}\n\nexport default Campaign;\n","import Campaign from './Campaign';\nexport default Campaign;","import React, {memo, useState} from 'react'\nimport {TextField} from '@rmwc/textfield';\nimport {Button} from '@rmwc/button';\nimport PropTypes from 'prop-types';\nimport { useTranslate } from 'react-polyglot';\n\nimport './profileInfo.scss';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\n\nimport ErrorMessage from '../ErrorMessage/ErrorMessage'\nimport userService from \"../../services/User\";\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\nconst ProfileInfo = memo(function ProfileInfo(props) {\n const t = useTranslate();\n const [data, setData] = useState({\n name: props.data.name || '',\n surname: props.data.surname || '',\n phone: props.data.phone || '',\n });\n const [errorState, setErrorState] = useState(false);\n const [message, setMessage] = useState('');\n const handleInputChange = (e) => {\n const name = e.target.name;\n setData({\n ...data,\n [name]: e.target.value\n });\n props.onChange(data)\n };\n\n const phoneValid = () => {\n if (data.phone) {\n let regexp = /^[0-9\\\\+]+$/;\n return regexp.test(data.phone);\n }\n return true;\n };\n\n const onClickAccept = (e) => {\n if (phoneValid()) {\n e.preventDefault();\n let formattedData = {...data, companyId: props.data.user.company.id};\n userService.updateProfile(formattedData, props.data.user.company.id, props.data.user.id).then((res) => {\n props.data.setProfileInfo(res);\n props.data.closeModal();\n });\n } else {\n setErrorState(true);\n setMessage(t('pages.account.userProfile.labels.phoneInvalid'))\n }\n }\n\n const onClickCancel = (e) => {\n e.preventDefault();\n props.setOpen(false);\n }\n\n return (\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n {errorState ? : null}\n \n
\n )\n})\n\nProfileInfo.propTypes = {}\n\nexport default ProfileInfo\n","import React, { memo, useState, useEffect } from 'react';\nimport { useTranslate } from 'react-polyglot';\nimport { TextField } from '@rmwc/textfield';\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\n\n\nconst DeleteAccount = memo(function DeleteAccount(props) {\n const t = useTranslate();\n const [value, setValue] = useState('');\n const [enabled, setEnabled] = useState(false)\n\n useEffect(() => {\n if (value === props.data.email) {\n setEnabled(true)\n } else {\n setEnabled(false);\n }\n }, [value])\n\n return (\n
\n

{t('pages.profile.deleteAccount.msg')}

\n

{t('pages.profile.deleteAccount.msgBody')}

\n
\n { setValue(e.target.value); }}/>\n
\n {\n e.preventDefault();\n props.setOpen(false);\n }}\n onClickAccept={(e) => {\n if (enabled) {\n props.data.deleteUserAccount({name: value});\n }\n }}\n >\n
\n )\n})\n\n\nexport default DeleteAccount\n","const BASE_ERROR = 'pages.signUp.errors';\nexport const ERROR_MAP = [\n {\n msg: 'Member must have length greater than or equal to 6',\n key: `${BASE_ERROR}.passwordLength`\n },\n {\n msg: 'passwordNotMatch',\n key: `${BASE_ERROR}.passwordNotMatch`\n },\n {\n msg: 'An account with the given email already exists.',\n key: `${BASE_ERROR}.accountExist`\n },\n {\n msg: 'Password does not conform to policy: Password must have symbol characters',\n key: `${BASE_ERROR}.characters`\n },\n {\n msg: 'Password did not conform with policy: Password must have uppercase characters',\n key: `${BASE_ERROR}.passwordMayus`\n },\n {\n msg: 'Password did not conform with policy: Password must have lowercase characters',\n key: `${BASE_ERROR}.passwordMinus`\n },\n {\n msg: 'Password did not conform with policy: Password not long enough',\n key: `${BASE_ERROR}.passwordLength`\n },\n {\n msg: 'Password did not conform with policy: Password must have symbol characters',\n key: `${BASE_ERROR}.passwordSymbol`\n },\n {\n msg: 'Incorrect username or password.',\n key: `${BASE_ERROR}.currentPasswordInvalid`\n },\n {\n msg: 'Attempt limit exceeded, please try after some time.',\n key: `${BASE_ERROR}.limitReached`\n }\n];","import React, {memo, useState} from 'react'\nimport {TextField} from '@rmwc/textfield';\nimport {Button} from '@rmwc/button';\nimport {useTranslate} from 'react-polyglot';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\n\nimport ErrorMessage from '../ErrorMessage/ErrorMessage'\nimport userService from \"../../services/User\";\nimport {ERROR_MAP} from \"../../utils/constants\";\nimport ActionButtons from '../actionsDialog/ActionButtons';\n\nconst ProfileSec = memo(function ProfileSec(props) {\n const t = useTranslate();\n const [handling, setHandling] = useState(false);\n const [errorState, setErrorState] = useState(false);\n const [message, setMessage] = useState('');\n const [data, setData] = useState({\n currentPass: '',\n password: '',\n newPassConfirm: '',\n })\n const handleInputChange = (e) => {\n const name = e.target.name;\n setData({\n ...data,\n [name]: e.target.value\n })\n props.onChange(data)\n };\n\n const changePassword = (e) => {\n e.preventDefault();\n if (validate(data)) {\n setHandling(true);\n let formattedData = {...data, companyId: props.data.user.company.id};\n userService.updateProfile(formattedData, props.data.user.company.id, props.data.user.id)\n .then((res) => {\n props.data.closeModal();\n props.data.setOpen(true);\n }).catch((err) => {\n const errorMsg = ERROR_MAP.find(e => err.message.includes(e.msg));\n setErrorState(true);\n setMessage(t(errorMsg.key));\n setHandling(false);\n })\n }\n };\n\n const validate = (data) => {\n let errMsge = '';\n if (Object.values(data).some(value => value === '')) {\n errMsge = 'someValueNull';\n }\n if (data.password !== data.newPassConfirm) {\n errMsge = 'passwordNotMatch';\n }\n if (errMsge === '') {\n return true;\n }\n setErrorState(true)\n setMessage(t(`pages.signUp.errors.${errMsge}`))\n return false;\n };\n return (\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n {errorState ? : null}\n {\n e.preventDefault();\n props.setOpen(false);\n }}\n onClickAccept={(e) => {\n changePassword(e);\n }}\n >\n
\n )\n})\n\nProfileSec.propTypes = {}\n\nexport default ProfileSec\n","import { Auth } from 'aws-amplify';\n\nexport default async () => {\n const session = await Auth.currentSession();\n const accessToken = await session.getRefreshToken();\n return await accessToken.getToken();\n}","import jwt from './jwt';\nimport refresh from './refresh';\n\nexport default function setCookie() {\n refresh()\n .then((token) => {\n document.cookie = `refresh_token =; domain = ${process.env.REACT_APP_APP_DOMAIN}; expires=Thu, 01 Jan 1970 00:00:00 UTC;`\n document.cookie = `refresh_token=${token}; domain=${process.env.REACT_APP_APP_DOMAIN};`;\n })\n\n}\n\nexport function deleteCookie() {\n document.cookie = `refresh_token=; domain=${process.env.REACT_APP_APP_DOMAIN}; expires=Thu, 01 Jan 1970 00:00:00 UTC;`\n document.cookie = `token=; domain=${process.env.REACT_APP_APP_DOMAIN}; expires=Thu, 01 Jan 1970 00:00:00 UTC;`\n}\n\n\nexport function saveCookie(cookieName, cookieValue, expirationDays) {\n const expirationDate = new Date();\n expirationDate.setDate(expirationDate.getDate() + expirationDays);\n\n const cookieString = `${cookieName}=${encodeURIComponent(cookieValue)}; expires=${expirationDate.toUTCString()}; path=/`;\n document.cookie = cookieString;\n};\n\nexport function getCookie(cookieName) {\n const name = `${cookieName}=`;\n const decodedCookie = decodeURIComponent(document.cookie);\n const cookieArray = decodedCookie.split(';');\n\n for (let i = 0; i < cookieArray.length; i++) {\n let cookie = cookieArray[i];\n while (cookie.charAt(0) === ' ') {\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(name) === 0) {\n return cookie.substring(name.length, cookie.length);\n }\n }\n return null;\n};","import { Auth } from 'aws-amplify';\nimport moment from 'moment';\n\nexport default async () => { return await Auth.currentAuthenticatedUser() }\n\nexport async function getUserGroups() {\n const session = await Auth.currentSession();\n const accessToken = await session.getAccessToken();\n return Promise.resolve(accessToken.payload['cognito:groups']);\n}\n\nexport function getExpirationDays(createdAt) {\n const expirationDay = moment(createdAt).add(15, 'd');\n const currentDay = moment();\n return expirationDay.diff(currentDay, 'days');\n}\n\nexport function isExpiredUser(user) {\n return getExpirationDays(user.created_at) <= 0;\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Dialog, DialogTitle, DialogContent, DialogActions, DialogButton } from '@rmwc/dialog';\nimport { useTranslate } from 'react-polyglot';\n\n/**\n *\n * @param open\n * @param setOpen\n * @param title\n * @param bodyMessage\n * @param functionHandler en el caso de que cuando se le de al boton de cerrar o se haga el escape ejecute algun handler especifico se realiza\n * @param style\n * @returns {*}\n * @constructor\n */\nconst AlertDialogWarn = ({ \n open,\n setOpen,\n title,\n bodyMessage,\n functionHandler,\n buttonMessage,\n style\n }) => {\n const t = useTranslate();\n const modalEl = document.getElementById('dialog');\n\n const onClose = () => {\n if (functionHandler)\n functionHandler();\n setOpen(false)\n }\n\n return ReactDOM.createPortal(\n \n \n {title}\n \n \n {bodyMessage}\n \n
\n \n {\n if (functionHandler)\n functionHandler();\n setOpen(false)\n }}\n >{buttonMessage? buttonMessage:t('actions.close')}\n \n \n
\n \n , modalEl)\n};\n\nexport default AlertDialogWarn;","import React, {useState, useEffect, useContext} from 'react';\nimport PropTypes from 'prop-types';\nimport {Select} from '@rmwc/select';\nimport {Button} from '@rmwc/button';\nimport {useTranslate} from 'react-polyglot';\n\nimport ProfileInfo from '../../components/actions/ProfileInfo';\nimport DeleteAccount from '../../components/actions/DeleteAccount';\nimport Modal from '../../components/modal/modal';\nimport ProfileSec from '../../components/actions/ProfileSec';\nimport CheckPermision from '../../components/checkPermision/checkPermision';\nimport {userGroups, userGroupsObject} from '../../utils/userGroups';\nimport {Auth} from \"aws-amplify\";\nimport {deleteCookie} from \"../../utils/cookie\";\nimport {SelectPicker} from \"rsuite\";\n\n\nimport '@material/select/dist/mdc.select.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/list/dist/mdc.list.css';\nimport '@material/menu/dist/mdc.menu.css';\nimport '@material/menu-surface/dist/mdc.menu-surface.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@rmwc/icon/icon.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport './userProfile.scss';\nimport { getExpirationDays } from '../../utils/user';\nimport AppContext from '../../components/app/AppContext';\nimport AlertDialogWarn from '../../components/general/AlertDialogWarn';\n\n\nfunction UserProfile({user, updateInfo, deleteAccount, updateLang, setProfile}) {\n const context = useContext(AppContext);\n const [lang, setLang] = useState('');\n const [openModal, setOpenModal] = useState(false);\n const [actionsDialogData, setActionsDialogData] = useState(null);\n const [open, setOpen] = useState(false);\n const t = useTranslate();\n useEffect(() => {\n setLang(window.localStorage.getItem('lang'));\n }, [])\n\n function openSubscriptionDialog(event) {\n context.setPage({...context.page, openSubDialog: true});\n }\n\n function openEdit() {\n const type = this;\n let actionsDialogData = {};\n if (type === 'info') {\n actionsDialogData = {\n title: t('pages.account.userProfile.modal.edit.title'),\n componentData: {\n name: user.name,\n surname: user.surname,\n phone: user.phone,\n closeModal: () => {\n setOpenModal(false);\n },\n setProfileInfo: (res) => {\n setProfile(res);\n },\n user\n },\n buttonLess: true,\n component: ProfileInfo,\n componentKey: user.id,\n action: editUserInfo,\n };\n\n }\n if (type === 'sec') {\n actionsDialogData = {\n title: t('pages.account.userProfile.modal.sec.title'),\n componentData: {\n user,\n open,\n setOpen,\n closeModal: () => {\n setOpenModal(false);\n },\n },\n buttonLess: true,\n component: ProfileSec,\n componentKey: user.id,\n };\n\n }\n if (type === 'delete') {\n actionsDialogData = {\n title: t('pages.account.userProfile.modal.delete.title'),\n componentData: {\n id: user.id,\n email: user.email,\n open,\n setOpen,\n closeModal: () => {\n setOpenModal(false);\n },\n deleteUserAccount\n },\n component: DeleteAccount,\n componentKey: user.id,\n // action: deleteUserAccount,\n buttonLess: true\n };\n\n }\n setActionsDialogData({...actionsDialogData});\n setOpenModal(true)\n }\n\n const editUserInfo = (data) => {\n updateInfo({...data, companyId: user.company.id}, user.company.id, user.id)\n };\n const deleteUserAccount = (data) => {\n deleteAccount(data, user);\n };\n const getName = () => {\n return user.name && user.surname ? `${user.name} ${user.surname}` : t('pages.account.userProfile.labels.fakeName');\n };\n\n const onLangChange = (e) => {\n if (e) {\n window.localStorage.setItem('lang', e);\n updateLang(user.id, e)\n .then(() => {\n window.location.reload();\n })\n\n }\n };\n\n const getInvitationLink = () => `${process.env.REACT_APP_NPP_BASE_URL}/register?tag=${user.professor?.code}`;\n\n const copyToClipboard = () => {\n const el = document.createElement('textarea');\n el.value = getInvitationLink();\n document.body.appendChild(el);\n el.select();\n document.execCommand('copy');\n document.body.removeChild(el);\n };\n\n return (\n
\n {t('pages.account.userProfile.modal.changePass.msg')}

\n }\n setOpen={setOpen}\n open={open}\n functionHandler={async () => {\n await Auth.signOut();\n deleteCookie();\n window.location.href = '/';\n }}\n />\n\n
\n
\n {t('pages.account.userProfile.labels.user')}\n
\n
\n
\n {t('common.labels.email')}\n
\n
\n {user.email || 'Correo'}\n {\n getExpirationDays(context.userData.created_at) <= 0 &&\n context.userGroups.includes(\"FreelanceUsers\") &&\n (Pasar a PRO)\n }\n
\n
\n
\n\n
\n
\n {t('pages.account.subscription.labels.billingInfo').toUpperCase()}\n {t('actions.edit')}\n
\n
\n
\n {t('pages.account.subscription.labels.nameSurname')}\n
\n
\n {getName()}\n
\n
\n
\n
\n {t('common.labels.phone')}\n
\n
\n {user.phone || t('common.labels.phone')}\n
\n
\n
\n
\n {t('pages.account.userProfile.labels.language')}\n
\n
\n \n
\n
\n
\n\n
\n
\n {t('pages.account.userProfile.labels.security').toUpperCase()}\n {t('actions.edit')}\n
\n
\n
\n {t('pages.account.userProfile.labels.password')}\n
\n
\n *****\n
\n
\n
\n\n \n
\n {t('pages.account.userProfile.labels.inviteLink')}\n {t('actions.copy')}\n
\n
\n
\n {t('pages.account.userProfile.labels.link')}\n
\n
\n {getInvitationLink()}\n
\n
\n }\n groups={[userGroupsObject.ProfessorsUsers]}\n />\n\n
\n
\n {t('pages.account.userProfile.labels.deleteAccount').toUpperCase()}\n
\n
\n
\n {t('pages.account.userProfile.labels.deleteAccountStudio')}\n
\n
\n
\n
\n\n
\n {openModal &&\n\n {\n setOpenModal(false)\n }}/>\n }\n
\n )\n}\n\nUserProfile.propTypes = {\n user: PropTypes.object\n}\n\nexport default UserProfile;\n","import request from '../utils/request';\n\nclass SubscriptionService {\n\n static async create(params) {\n return request.postJson(`${process.env.REACT_APP_KWM_ENDPOINT}/subscriptions`, {\n body: params\n });\n }\n\n static async get() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/subscriptions`);\n }\n static async getPlan() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/subscriptions/plan`);\n }\n static async getIntent() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/subscriptions/intent`);\n }\n static async getPaymentMethods() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/payment-methods`);\n }\n static async getInvoices() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/invoices`);\n }\n static async deleteSubscription() {\n return request.delete(`${process.env.REACT_APP_KWM_ENDPOINT}/subscriptions`);\n\n }\n}\n\n\nexport default SubscriptionService;","import React, { useState, useEffect } from 'react';\nimport { TextField } from '@rmwc/textfield';\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\nfunction CancelSub(params) {\n const [value, setValue] = useState(params.data);\n\n useEffect(() => {\n if (value === params.data) {\n setValue(params.data);\n\n }\n\n })\n return (\n
\n )\n}\n\nexport default CancelSub;","import React from 'react'\nimport './SausageButton.scss';\n\nconst SausageButton = ({outlined, disabled, invert ,label, onClick, fluid, type, size, icon, fsize, spacer, secondary,raised, marginLeft }) => {\n return (\n \n )\n}\n\nexport default SausageButton\n","import React, {Fragment, useContext, useEffect, useState} from 'react'\nimport {Button} from '@rmwc/button';\nimport {CircularProgress} from '@rmwc/circular-progress';\nimport moment from 'moment';\nimport {useTranslate} from 'react-polyglot';\nimport AppContext from '../../components/app/AppContext';\nimport SubscriptionService from '../../services/Subscription';\nimport CancelSub from '../../components/actions/CancelSub';\nimport AlertDialog from '../../components/general/AlertDialog';\nimport {getExpirationDays} from '../../utils/user';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/circular-progress/circular-progress.css';\nimport Loading from \"../../components/loading\";\n\nimport SausageButton from '../../components/coa/SausageButton';\n\nconst Subscription = ({setModal}) => {\n const context = useContext(AppContext);\n const [subscribed, setSubscribed] = useState(false);\n const [subscription, setSubscription] = useState({});\n const [fetchingData, setFetchingData] = useState(true);\n const [open, setOpen] = useState(false);\n const [loading, setLoading] = useState(false);\n const t = useTranslate();\n\n //useEffect(() => {\n //context.setPage({...context.page, openSubDialog: false});\n // initialize state\n // openSubscriptionDialog();\n // getSubscription();\n /* setSubscription({\n base: {},\n plan: {},\n payment: {billing_details: {name: '', address: {line1: '1'}}},\n invoices: []\n });\n setSubscribed(false);\n setFetchingData(false);*/\n //}, []);\n\n\n\n useEffect(() => {\n if (context.openSubPro){\n context.setPage({...context.page, openSubDialog: true});\n }\n }, [context.openSubPro]);\n\n function getSubscription() {\n context.setPage({...context.page, loading: true});\n SubscriptionService.get()\n .then(res => {\n if (res.data && res.data.status === 'active') {\n Promise.all([\n SubscriptionService.getPlan(),\n SubscriptionService.getPaymentMethods(),\n SubscriptionService.getInvoices()\n ]).then(([response, payments, invoicesData]) => {\n const invoicesList = invoicesData\n .filter(f => !(f.items.some(fact => fact.description.includes('× view')) && f.amount_paid === 0));\n setSubscription({\n base: res.data,\n plan: response.data,\n payment: payments.data[0],\n invoices: invoicesList\n });\n setSubscribed(true);\n context.setPage({...context.page, loading: false});\n setFetchingData(false);\n })\n } else {\n context.setPage({...context.page, loading: false});\n setFetchingData(false);\n }\n });\n }\n\n function openSubscriptionDialog(event) {\n context.setPage({...context.page, openSubDialog: true});\n }\n\n async function cancelSubscription() {\n setLoading(true);\n try {\n await SubscriptionService.deleteSubscription();\n setOpen(true);\n setLoading(false);\n } catch (error) {\n console.log(error);\n setLoading(false);\n }\n }\n\n function openCancelSuscription() {\n const actionsDialogData = {\n title: t('pages.account.subscription.modal.cancel.title'),\n componentData: null,\n component: CancelSub,\n componentKey: 1,\n action: cancelSubscription,\n };\n setModal({openModal: true, propsModal: actionsDialogData});\n }\n\n const getPlanContainer = () => {\n return (\n \n
\n {t('pages.account.subscription.labels.free')}\n \n {getExpirationDays(context.userData.created_at) <= 0 ?\n `${t('pages.account.subscription.labels.expired')}`\n : `${t('pages.account.subscription.labels.expiration')} ${getExpirationDays(context.userData.created_at)} ${t('pages.account.subscription.labels.days')}`}\n \n
\n
\n
\n
\n )\n };\n\n const getPaymentMethodContainer = () => {\n return (\n
\n {t('pages.account.subscription.labels.freePlan')}\n
\n
)\n };\n\n const getBillingInfoContainer = () => {\n return (\n
\n {t('pages.account.subscription.labels.freePlan')}\n
\n
)\n };\n\n const getInvoiceInfoContainer = () => {\n return (\n
\n {t('pages.account.subscription.labels.noPurchase')}\n
\n
)\n };\n\n function renderSubdata() {\n return (\n
\n
\n
\n {t('pages.account.subscription.labels.yourPlan')}\n
\n
\n
\n

{t('pages.account.subscription.labels.profesionalSubscription')}

\n {subscription.base.cancelled ?\n {`${t('pages.account.subscription.labels.untilValid')} ${moment(subscription.base.ends_at).format('YYYY-MM-DD hh:mm a')}`}\n :\n {subscription.plan.interval === 'year' ? t('pages.account.subscription.labels.planAnnual') : t('pages.account.subscription.labels.planMonthly')}\n }\n
\n
\n {!subscription.base.cancelled && (\n )}\n
\n
\n
\n\n
\n
\n {t('pages.account.subscription.labels.paymentMethod').toUpperCase()}\n\n
\n
\n
\n {t('pages.account.subscription.labels.creditCard')}\n
\n
\n {`${subscription.payment.name} terminada en ${subscription.payment.last_numbers}`}\n
\n
\n\n
\n\n
\n
\n {t('pages.account.subscription.labels.billingInfo').toUpperCase()}\n\n
\n
\n
\n {t('common.labels.nameSurname')}\n
\n
\n {subscription.payment.billing_details.name}\n
\n
\n
\n
\n {t('pages.account.subscription.labels.address')}\n
\n
\n {`${subscription.payment.billing_details.address.line1}`}\n
\n
\n
\n
\n {t('pages.account.subscription.labels.city')}\n
\n
\n {`${subscription.payment.billing_details.address.city}`}\n
\n
\n
\n
\n {t('pages.account.subscription.labels.country')}\n
\n
\n {`${subscription.payment.billing_details.address.country}`}\n
\n
\n
\n\n
\n
\n {t('pages.account.subscription.labels.invoices').toUpperCase()}\n\n
\n {subscription.invoices && subscription.invoices.map(invoice => {\n return (\n
\n
\n {localStorage.lang === 'es' ?\n {`Subscripción ${invoice.items[0].interval === 'month' ? 'Mensual' : 'Anual'}`} :\n {`${invoice.items[0].interval === 'month' ? 'Monthly' : 'Annual'} Subscription `}}\n\n
\n
\n \n {t('pages.account.subscription.labels.downloadInvoice')}\n \n {`${invoice.items[0].currency.toUpperCase()} ${invoice.items[0].amount / 100}`}\n
\n
\n )\n })}\n
\n\n
\n )\n }\n\n function renderSubOption() {\n return (\n
\n
\n
\n {t('pages.account.subscription.labels.yourPlan')}\n
\n
\n {fetchingData ? '-' : getPlanContainer()}\n
\n
\n\n
\n
\n {t('pages.account.subscription.labels.paymentMethod')}\n
\n
\n {fetchingData ? '-' : getPaymentMethodContainer()}\n
\n
\n\n
\n
\n {t('pages.account.subscription.labels.billingInfo')}\n
\n
\n {fetchingData ? '-' : getBillingInfoContainer()}\n
\n
\n\n
\n
\n {t('pages.account.subscription.labels.invoices')}\n
\n
\n {fetchingData ? '-' : getInvoiceInfoContainer()}\n
\n
\n
\n )\n }\n\n function renderContent() {\n if (subscribed) {\n return renderSubdata()\n } else {\n return renderSubOption()\n }\n }\n\n return (\n <>\n {renderContent()}\n window.location.reload()}\n />\n \n )\n};\n\n\nexport default Subscription\n","import React, { useState, useEffect } from \"react\";\n\nfunction CommonForm({ initialValues, validate, funcSubmit, children, onBlur }) {\n const [values, setValues] = useState(initialValues);\n const [errors, setErrors] = useState({});\n const [touched, setTouched] = useState({});\n\n useEffect(() => {\n setValues(initialValues);\n }, [initialValues])\n\n // change event handler\n const handleChange = evt => {\n const { name, value, checked, type } = evt.target;\n\n // keep number fields as numbers\n //const value = type === \"number\" ? +newValue : type === 'checkbox' ? checked : newValue;\n\n // save field values\n setValues(prevValues => ({\n ...prevValues,\n [name]: value\n }));\n/*\n // was the field modified\n setTouched({\n ...touched,\n [name]: true\n });\n if (onBlur) onBlur({\n ...values,\n [name]: value\n });*/\n };\n\n const handleBlur = evt => {\n const { name, value } = evt.target;\n\n // remove whatever error was there previously\n const { [name]: removedError, ...rest } = errors;\n\n // check for a new error\n const error = validate[name]? validate[name](value) : null;\n\n // // validate the field if the value has been touched\n setErrors({\n ...rest,\n ...(error && { [name]: error })\n });\n if (onBlur) onBlur(values);\n };\n\n // form submit handler\n const handleSubmit = evt => {\n evt.preventDefault();\n\n // validate the form\n const formValidation = Object.keys(values).reduce(\n (acc, key) => {\n const newError = validate[key] ? validate[key](values[key]) : null;\n const newTouched = { [key]: true };\n // remove whatever error was there previously\n const { [key]: removedError, ...rest } = acc.errors;\n return {\n errors: {\n ...rest,\n ...(newError && { [key]: newError })\n },\n touched: {\n ...acc.touched,\n ...newTouched\n }\n };\n },\n {\n errors: { ...errors },\n touched: { ...touched }\n }\n );\n setErrors(formValidation.errors);\n setTouched(formValidation.touched);\n\n if (\n !Object.values(formValidation.errors).length && // errors object is empty\n Object.values(formValidation.touched).length ===\n Object.values(values).length && // all fields were touched\n Object.values(formValidation.touched).every(t => t === true) // every touched field is true\n ) {\n funcSubmit(values);\n }\n };\n\n return (\n <>\n {children({\n handleBlur, handleChange, handleSubmit, errors, touched, values\n })}\n \n );\n}\n\nexport default CommonForm;\n","import request from '../utils/request';\nimport { parseParams } from '../utils/url';\n\nclass CompanyService {\n static async get(paginate = false, page = 1, perPage = 5, paramsQuery) {\n const baseUrl = `${process.env.REACT_APP_KWM_ENDPOINT}/companies`;\n if (paginate) {\n return request.get(`${baseUrl}?page=${page}&per_page=${perPage}&${parseParams(paramsQuery)}`);\n } else {\n if (paramsQuery) {\n return request.get(`${baseUrl}?${parseParams(paramsQuery)}`);\n }\n return request.get(baseUrl);\n }\n }\n static async signUp(params) {\n return request.post(`${process.env.REACT_APP_KWM_ENDPOINT}/signUp`, {\n body: params\n }, false);\n }\n static async addCompany(params) {\n return request.postJson(`${process.env.REACT_APP_KWM_ENDPOINT}/companies`, {\n body: params\n });\n }\n static async updateCompany(params, companyId) {\n return request.put(`${process.env.REACT_APP_KWM_ENDPOINT}/companies/${companyId}`, {\n body: params\n });\n }\n static async deleteCompany(companyId) {\n return request.delete(`${process.env.REACT_APP_KWM_ENDPOINT}/companies/${companyId}`);\n }\n\n static async getCredentials() {\n return request.get(`${process.env.REACT_APP_KWM_ENDPOINT}/credentials`);\n }\n}\nexport default CompanyService;\n","import React, { memo, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@rmwc/textfield';\nimport { Checkbox } from '@rmwc/checkbox';\nimport { Button } from '@rmwc/button';\nimport { useTranslate } from 'react-polyglot';\n\nimport SelectControl from '../common/select';\nimport CommonForm from './CommonForm';\nimport CompanyService from '../../services/Companies';\n\nimport '@material/checkbox/dist/mdc.checkbox.css';\nimport '@material/form-field/dist/mdc.form-field.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@material/button/dist/mdc.button.css';\n\nconst CompanyForm = memo(function CompanyForm(props) {\n const [credentials, setCredentials] = useState([]);\n const [initialValues, setInitialValues] = useState({});\n const t = useTranslate();\n\n useEffect(() => {\n CompanyService.getCredentials().then((res) => {\n if (!props.data.credentialId) {\n setInitialValues({\n ...initialValues,\n vuforia_account_id: res[0].id.toString(),\n company_type_id: props.data.companyType.id,\n })\n }\n setCredentials(res.map((x) => ({ label: x.name, value: x.id })));\n });\n if (props.data.id) {\n const company = props.data;\n setInitialValues({\n ...company,\n vuforia_account_id: company.credentialId.toString(),\n company_type_id: company.companyType.id.toString(),\n can_see_reports: company.canSeeReports,\n can_publish: company.canPublish,\n });\n } else {\n setInitialValues({\n company_type_id: props.data.companyType.id,\n vuforia_account_id: '1',\n can_see_reports: false,\n can_publish: false\n });\n }\n }, []);\n\n return (\n \n {({ handleBlur, handleChange, handleSubmit, errors, values }) => (\n <>\n
\n \n \n \n \n
\n \n props.setOpen(false)}\n >\n
\n \n \n )}\n \n );\n});\n\nCompanyForm.propTypes = {};\n\nexport default CompanyForm;\n","import React, { useState, useEffect } from 'react';\nimport { TextField } from '@rmwc/textfield';\nimport { useTranslate } from 'react-polyglot';\n\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@rmwc/icon/icon.css';\n\nconst Search = ({ func }) => {\n const [search, setSearch] = useState('');\n const [trigger, setTrigger] = useState(false);\n const t = useTranslate();\n\n useEffect(() => {\n if (trigger && (search.length > 2 || search.length === 0)) {\n const timer = setTimeout(() => {\n func(search);\n }, 500);\n \n return () => clearTimeout(timer); \n }\n }, [search]);\n\n return (\n { setSearch(e.target.value); setTrigger(true); }}\n />\n );\n};\n\nexport default Search;\n","import React, { memo, useEffect, useState, useReducer } from 'react'\nimport {\n DataTable, DataTableHead, DataTableContent, DataTableRow, DataTableHeadCell, DataTableBody, DataTableCell\n} from '@rmwc/data-table';\nimport { Button } from '@rmwc/button';\nimport { useTranslate } from 'react-polyglot';\nimport Icon from '../../components/icon';\nimport { Icon as IconM } from '@rmwc/icon';\nimport CompanyForm from '../../components/actions/CompanyForm';\nimport Notification from '../../components/notification/notification';\nimport CompanyService from '../../services/Companies';\nimport Confirm from '../../components/actions/Confirm';\nimport Search from '../../components/common/search';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@material/data-table/dist/mdc.data-table.css';\nimport '@rmwc/data-table/data-table.css';\nimport '@rmwc/icon/icon.css';\nimport './user.scss';\n\n\nconst ITEMS_PER_PAGE = 5;\n\nconst Companies = memo(function Companies({ setModal }) {\n const [companies, setCompanies] = useState([]);\n const [page, setPage] = useState(1);\n const [response, setResponse] = useState([]);\n const [search, setSearch] = useState('');\n const [{ showNotification, propsNotification }, setNotification] = useReducer(\n (prevState, currState) => ({ ...prevState, ...currState }),\n { showNotification: false, propsNotification: {} });\n const t = useTranslate();\n\n useEffect(() => {\n CompanyService.get(true)\n .then(res => { setCompanies(res.data); setResponse(res) });\n\n }, []);\n\n async function saveCompany(params) {\n try {\n\n await CompanyService.addCompany(params);\n getDataPaginated(page);\n setNotification({\n showNotification: true,\n propsNotification: {label: t('common.msg.success'), message: t('pages.account.addMsg')}\n })\n } catch (error) {\n setNotification({ showNotification: true, propsNotification: { label: 'Error', message: error.message } })\n }\n }\n async function updateCompany(params) {\n\n try {\n await CompanyService.updateCompany(params, this.componentData.id);\n getDataPaginated(page);\n } catch (error) {\n setNotification({ showNotification: true, propsNotification: { label: 'Error', message: error.message } })\n }\n }\n async function deleteCompany(params) {\n\n try {\n await CompanyService.deleteCompany(this.componentData.companyId);\n getDataPaginated(page);\n } catch (error) {\n setNotification({ showNotification: true, propsNotification: { label: 'Error', message: error.message } })\n }\n }\n function openAddCompany(event) {\n const actionsDialogData = {\n title: t('pages.account.companies.modal.add.title'),\n component: CompanyForm,\n componentData: { companyType: { id: 1 } },\n componentKey: '99',\n action: saveCompany,\n buttonLess: true\n };\n setModal({ openModal: true, propsModal: actionsDialogData })\n }\n function editCompany(company) {\n const actionsDialogData = {\n title: t('pages.account.companies.modal.edit.title'),\n componentData: this,\n component: CompanyForm,\n componentKey: this.id,\n action: updateCompany,\n buttonLess: true\n };\n setModal({ openModal: true, propsModal: actionsDialogData })\n }\n function confirmDelete() {\n const actionsDialogData = {\n title: t('pages.account.companies.modal.delete.title'),\n componentData: { msg: t('pages.account.companies.modal.delete.msg'), companyId: this.id },\n component: Confirm,\n componentKey: this.id,\n action: deleteCompany,\n };\n setModal({ openModal: true, propsModal: actionsDialogData })\n }\n\n function getMark(value) {\n if (value) {\n return ();\n } else {\n return ();\n }\n }\n async function getDataPaginated(pageToGet) {\n return CompanyService.get(true, pageToGet, ITEMS_PER_PAGE, (search ? { name: search } : undefined))\n .then(res => { setCompanies(res.data); setResponse(res) });\n }\n function getLastPage() {\n if (page <= 1) {\n\n } else {\n setPage(page - 1)\n getDataPaginated(page - 1);\n }\n\n }\n function getNextPage() {\n\n if ((response.total / ITEMS_PER_PAGE) > page) {\n setPage(page + 1)\n getDataPaginated(page + 1);\n }\n\n }\n function closeNotification() {\n setNotification({ showNotification: false })\n }\n\n function searchCompany(value) {\n setSearch(value);\n CompanyService.get(true, 1, ITEMS_PER_PAGE, { name: value })\n .then(res => { setCompanies(res.data); setResponse(res) })\n }\n\n return (\n
\n
\n \n
\n \n \n \n \n {t('pages.account.companies.headTable.name')}\n\n {t('pages.account.companies.headTable.type')}\n {t('pages.account.companies.headTable.canPublish')}\n {t('pages.account.companies.headTable.reports')}\n {t('pages.account.companies.headTable.actions')}\n\n \n \n \n {companies.length > 0 && companies.map((company, i) => {\n return (\n \n {company.name}\n {company.companyType.name}\n {getMark(company.canPublish)}\n\n {getMark(company.canSeeReports)}\n \n \n \n \n \n )\n })\n\n }\n\n\n \n \n \n
\n
\n {page > 1 && (\n \n {t('pages.account.pagination.prev')}\n \n )}\n
\n {response.total / ITEMS_PER_PAGE > page && (\n
\n \n {t('pages.account.pagination.next')}\n \n
\n )}\n
\n {showNotification && }\n
\n )\n})\n\nCompanies.propTypes = {\n\n}\n\nexport default Companies\n","import es from './es';\nimport en from './en';\nexport default {\n es,\n en\n};\n","export default {\n published: \"Publicadas\",\n in_revision: \"En Revisión\",\n unpublished: \"No Publicadas\",\n rejected: \"Rechazadas\",\n requiredEmail: 'Debe completar el campo Email',\n requiredPassword: 'Debe completar el campo Password',\n actions: {\n edit: 'Editar',\n copy: 'Copiar',\n add: 'Agregar',\n cancel: 'Cancelar',\n accept: 'Aceptar',\n delete: 'Eliminar',\n send: 'Enviar',\n close: 'Cerrar',\n enable: 'Activar',\n disable: 'Desactivar',\n changeTarget: 'Cambiar Target',\n understood: 'Entendido',\n editAR: 'Editar fondo',\n changeAlias: 'Cambiar alias',\n changeName: 'Cambiar nombre',\n changeLoading: 'Cambiar Loading',\n convertToAd: 'Convertir a anuncio',\n convertToNormal: 'Deshacer modo anuncio'\n },\n common: {\n labels: {\n email: 'Email',\n spanish: 'Español',\n english: 'Inglés',\n type: 'Tipo',\n status: 'Estado',\n actions: 'Acciones',\n active: 'Activo',\n inactive: 'Inactivo',\n nameSurname: 'Nombre y Apellido',\n world: 'Mundo',\n plane: 'Plana',\n imageTracking: 'Image Tracking',\n worldTracking: 'World Tracking',\n immersive: 'Web 360 / Web VR',\n 360: '360',\n face: 'Face',\n phone: 'Teléfono',\n country: 'País',\n name: 'Nombre',\n nameExperience: 'Nombre de la experiencia',\n nameCampaign: 'Nombre del proyecto',\n password: 'Contraseña',\n surname: 'Apellido',\n company: 'Compañía',\n project: 'Proyecto',\n user: 'Usuario',\n experience: 'Experiencia'\n },\n msg: {\n doYouContinue: '¿Desea continuar?',\n success: 'Éxito'\n },\n alerts: {\n title: 'Alerta'\n },\n },\n header: {\n placeholder: \"Buscar\",\n user: 'Usuario',\n profile: 'Perfil',\n logout: 'Salir',\n search: 'Comienza a escribir para buscar entre tus experiencias',\n menu: {\n profile: 'Perfil',\n subscription: 'Suscripción',\n toPro: 'ACTUALIZA A PRO',\n logout: 'Cerrar sesión',\n paymentMethod: 'Método de pago',\n billingInfo: 'Información de facturación.',\n billings: 'Facturas',\n companies: 'Compañías',\n users: 'Usuarios',\n published: 'Publicaciones',\n sdk: 'SDK'\n }\n },\n sidebar: {\n action: 'Nueva experiencia',\n menu: {\n campaign: 'Proyectos',\n recent: 'Recientes',\n published: 'Estatus',\n reports: 'Reportes',\n reportsV2: 'Reportes',\n webComponents: 'Overlays',\n title: 'Editar pantalla de carga ',\n controlPanel: 'Panel de control',\n samplesGallery: 'Galería de Ejemplos',\n videoTutorials: 'Video Tutoriales',\n userManual: 'Manual de Usuario',\n faqs: 'Preguntas Frecuentes'\n },\n footer: {\n title: 'Tu prueba gratuita finalizará en ',\n time: 'días',\n action: 'Actualizar a Pro'\n }\n },\n customLoaderSidebar: {\n menu: {\n title: 'Editar pantalla de carga',\n subTitle: 'Aquí podras editar la pantalla de carga de tu experiencia. Recuerda que esta edición aplica a todas las experiencias de un mismo proyecto',\n screenOptions: {\n general: 'General',\n loader: 'Pantalla de Carga',\n qr: 'Pantalla QR (MVAR)',\n qrWTW: 'Pantalla QR (World Tracking Web)',\n },\n screens: {\n general: {\n favicon: \"Favicon\",\n documentTitle: \"Título de Página\"\n },\n loader: {\n header: 'Imagen header',\n fonts: 'Fuentes',\n centerLogo: 'Logo central',\n loadingBar: 'Barra de carga',\n footer: 'Pie de pagina',\n background: 'Fondo',\n grid: 'Grilla',\n gradiant: 'Gradiante',\n language: 'Idioma',\n spanish: 'Español',\n english: 'Inglés',\n black: 'Negro',\n white: 'Blanco'\n },\n qr: {\n brandImage: 'Imagen de Brand',\n fonts: 'Fuentes',\n footer: 'Pie de pagina',\n background: 'Fondo',\n grid: 'Grilla',\n gradiant: 'Gradiante',\n button: 'Botón',\n buttonTextColor: 'Texto',\n buttonBgColor: 'Fondo',\n language: 'Idioma',\n spanish: 'Español',\n english: 'Inglés',\n black: 'Negro',\n white: 'Blanco'\n },\n qrWTW: {\n brandImage: 'Imagen de Brand',\n fonts: 'Fuentes',\n footer: 'Pie de pagina',\n background: 'Fondo',\n grid: 'Grilla',\n gradiant: 'Gradiante',\n language: 'Idioma',\n spanish: 'Español',\n english: 'Inglés',\n black: 'Negro',\n white: 'Blanco'\n }\n },\n favicon: \"Favicon\",\n loadingHeaderFonts: 'Fuentes',\n header: 'Imagen header',\n centerLogo: 'Logo central',\n headerText: 'Texto header',\n loadingBar: 'Barra de carga',\n footer: 'Pie de pagina',\n background: 'Fondo',\n grid: 'Grilla',\n gradiant: 'Gradiante',\n buttons: 'Botones',\n language: 'Idioma',\n spanish: 'Español',\n english: 'Inglés',\n black: 'Negro',\n white: 'Blanco'\n }\n },\n customLoaderLayout: {\n title: 'Editar pantalla de carga',\n error: 'Error',\n back: 'Volver a proyectos',\n apply: 'Aplicar cambios',\n discard: 'Volver a default',\n applyChanges: 'Cambios aplicados con éxito',\n errorChanges: 'Ha ocurrido un error',\n discardMessage: 'Se borrará toda la personalización ¿Estás seguro?',\n formatImage: 'Sólo se pueden cargar imágenes con formato svg, png o jpeg',\n formatImageIcon: 'Sólo se pueden cargar imágenes con formato ico',\n yes:\"Si\"\n },\n\n editAr:{\n error: 'Error',\n formatImage: 'Sólo se pueden cargar imágenes con formato .jpg o .jpeg',\n ok: \"OK\"\n },\n\n dragAndDropFile: {\n textHeader: 'Agrega o arrastra la imagen que quieras',\n textBackground: 'Agrega o arrastra el fondo que quieras',\n format: 'Usa formato SVG, PNG o JPEG',\n formatIcon: 'Usa formato ICO',\n format2: 'Usa formato .jpg o .jpeg',\n text: 'Selecciona una imagen',\n quit: 'Eliminar imagen',\n add: 'Agregar',\n inputSelect: 'Selecciona una opción'\n },\n \n experienceNewFlow: {\n invalidSize: 'El target debe de pesar hasta 5 MB',\n internalError: 'Error interno, intente mas tarde',\n title: 'Elige un tipo de experiencia',\n imageTracking: 'Image Tracking',\n imageTrackingDescription: 'En este tipo de experiencia podrás crear contenidos interactivos en realidad aumentada sobre una imagen física (target), por ejemplo: la etiqueta de un producto, un afiche, un mural, etc.',\n worldTracking: 'World Tracking',\n worldTrackingDescription: 'Al crear una experiencia “World Tracking” podrás incluir contenidos 2D y 3D en entornos reales, posicionándolos sobre superficies planas del mundo real.',\n worldTrackingSubtitle: 'Las experiencias interactivas creadas a través de Studio pueden ser visualizadas de 2 formas: vía app (CamOn) o por medio de un navegador web.',\n worldTrackingApp: 'App',\n worldTrackingWeb: 'Web',\n worldTrackingAppDescription: 'CamOn es la aplicación que transforma el dispositivo móvil en un escáner, permitiendo descubrir experiencias interactivas sobre soportes impresos.',\n worldTrackingWebDescription: 'Las experiencias interactivas se visualizan a través del navegador web de un dispositivo móvil, accediendo a través de una URL o escaneando un código QR.',\n markerBased: 'Con target',\n markerLess: 'Sin target',\n markerBasedDescription: 'Para acceder a la experiencia interactiva, el usuario tiene que escanear una imagen a través de la aplicación CamOn.',\n markerLessDescription: 'Si no se define target, el usuario accede a la experiencia escaneando un código QR con la cámara del dispositivo móvil, o a través de un link web.',\n subtitleWorldTracking: 'Define la forma de acceso a estas experiencias',\n prox: 'Proximamente',\n app: 'App',\n web: 'Web',\n immersiveAppDescription: 'CamOn es la aplicación que transforma el dispositivo móvil en un escáner, permitiendo descubrir experiencias interactivas sobre soportes impresos.',\n immersiveWebDescription: 'Las experiencias interactivas se visualizan a través del navegador web de un dispositivo móvil, accediendo a través de una URL o escaneando un código QR.',\n immersive: 'Web 360 / Web VR',\n subtitleImmersive: 'Las experiencias interactivas creadas a través de Studio pueden ser visualizadas de 2 formas: vía app (CamOn) o por medio de un navegador web.',\n subtitleAppImmersive: 'Define la forma de acceso a estas experiencias',\n immersiveDescription: 'Las experiencias “Web 360” sitúan al usuario dentro de un contexto 360°, permitiéndole descubrir contenidos interactivos a su alrededor. ',\n faceTracking: 'Face Tracking',\n new: 'Nuevo',\n nameOfExperience: 'Nombre de la experiencia',\n nameOfCollection: 'Nombre del proyecto',\n nameOfCampaign: 'Nombre de la campaña',\n addTarget: 'Agrega un target',\n createExperience: 'Crear experiencia',\n offlineExperience: 'Experiencia Offline',\n offlineTargetType: 'Tipo de target',\n forAnotherUser: 'Para otro usuario',\n offlineName: 'Nombre offline',\n advertisement:'Anuncio',\n },\n studioNewFlow: {\n internalError: 'Error interno, intente mas tarde',\n labelFromDragComponent: \"Agregar Modelos\",\n infoImage: 'Arrastra un modelo en el cuadro para poder agregarlo.',\n interactiveExperince: \"Web 360 / Web VR\",\n planeTracking: \"AR Plane Tracking\",\n planeTrackingDescription: 'Al crear una experiencia “AR Plane Tracking” podrás incluir contenidos 3D en entornos reales, posicionándolos sobre superficies planas del mundo real.',\n new: \"Nuevo\",\n comingSoon: \"Próximamente\",\n title: \"Elige un tipo de experiencia\",\n interactiveExperinceDescription: \"Las experiencias “Web 360” sitúan al usuario dentro de un contexto 360°, permitiéndole descubrir contenidos interactivos a su alrededor.\",\n model3d: \"Web AR\",\n model3dDescription: \"Al crear una experiencia ModelViewer, estarás generando un visualizador de objetos 3D, para posicionarlos sobre superficies planas del mundo real proponiendo probadores virtuales.\",\n addModelGLB: \"Agregar GLB\",\n addModelUSDZ: \"Agregar USDZ\",\n addOrDragModel: 'Arrastra los modelos 3D',\n format: \"Se debe agregar 1ero un modelo formato .GLB y luego agregar un modelo formato USDZ.\",\n changeModel: {\n invalidFile: 'Los siguientes archivos fueron excluidos por un inconveniente en la carga: ',\n validFormat: 'Formato de archivo inválido',\n validEmptyTarget: 'Es necesario agregar un modelo',\n },\n newExp: {\n formatsModels: 'Usa formato .glb',\n formatModels2: 'Usa formato .usdz',\n },\n uploadsModels: 'Subir modelos 3D',\n maxFilesError: 'El límite de archivos para subir en simultáneo es de 1. Por favor inténtalo de nuevo.',\n nameError: 'Ya existe una experiencia con el mismo nombre en esta compañía. Por favor cambia el nombre por uno diferente.'\n\n\n\n },\n experiences: {\n infoImage: 'Arrastra una imagen en el cuadro para poder visualizarla.',\n infoExpInput: 'Nombre de la experiencia.',\n infoCampaign: 'Toda experiencia debe estar dentro de un proyecto. Para crear un nuevo proyecto simplemente escribe su nombre; para agregar la experiencia a un proyecto existente escribe las primeras letras del proyecto y selecciónalo en el menú de sugerencias.',\n addTarget: 'Agregar Target',\n nameExp: 'Nombre de Experiencia',\n addOrDragTarget: 'Agrega o arrastra el target',\n newAlias: 'mvar.camonapp.com/?a=',\n newName: 'Nuevo nombre',\n success: 'Exito',\n successBody: 'Cambio realizado con éxito',\n error: 'Error el alias ya existe',\n editBackground: 'Editar fondo',\n changeBackground: 'Cambiar color de fondo',\n color: 'Color',\n image: 'Imagen',\n actions: {\n seeTarget: 'Ver Target',\n changeTarget: 'Cambiar Target',\n edit: 'Editar nombre de la experiencia',\n active: 'Activar Experiencia',\n deactive: 'Desactivar Experiencia',\n enableVRMode: 'Habilitar modo VR',\n disableVRMode: 'Deshabilitar modo VR',\n cloneExp: 'Clonar Experiencia',\n cloneDemoExp: 'Clonar Experiencia en mis Proyectos',\n migExp: 'Migrar Experiencia',\n migExpAdmin: 'Migrar experiencia a otro usuario',\n removeExp: 'Eliminar Experiencia',\n open: 'Abrir',\n toEdit: 'Editar',\n seeReports: 'Ver Reportes',\n watchQR: 'Ver Codigo QR',\n changeURL: 'Estás por cambiar la URL de la experiencia.',\n endDate: 'Estás por programar el cambio de URL de la experiencia para ',\n changeAlias: 'Cambiar alias',\n changeName: 'Cambiar nombre',\n },\n msgActions: {\n changeTarget: 'Target modificado',\n clone: 'Experiencia clonada',\n activate: 'Experiencia activada',\n deactivate: 'Experiencia desactivada',\n migrate: 'Experiencia migrada',\n enableVRMode: 'Compatibilidad con Modo VR activada',\n disableVRMode: 'Compatibilidad con Modo VR desactivada',\n },\n vrMode: {\n tooltipPublishRequired: 'Necesitas publicar la experiencia a producción para hacer uso de esta funcionalidad',\n requireProSubscription: 'Esta funcionalidad está disponisble en para suscripciones PRO'\n },\n QRDialog: {\n QRDialogTitle: 'Codigo QR',\n published: 'Esta experiencia se encuentra publicada',\n notPublished: 'Esta experiencia no ha sido publicada',\n tooltipMessage: 'Copiado!',\n copyToClipboard: 'Copiar en el portapapeles'\n\n },\n changeTarget: {\n validFormat: 'Tienes que agregar una imagen con formato válido (.jpg)',\n validEmptyTarget: 'Es necesario agregar un target',\n invalidSize: 'El target debe de pesar hasta 5 MB',\n },\n cloneDemoExp: {\n msgBody: 'Para editar esta experiencia, debes clonarla a tus proyectos.',\n msg: '¿Deseas hacerlo?'\n },\n deleteExp: {\n msg: '¿Estás seguro que quieres eliminar esta experiencia?',\n msgBody: 'Una vez borrada no puede ser recuperada.'\n },\n enableVR: {\n msg: '¿Estás seguro que quieres habilitar el modo VR?',\n msgBody: ''\n },\n disableVR: {\n msg: '¿Estás seguro que quieres deshabilitar el modo VR?',\n msgBody: ''\n },\n deactivateExp: {\n msg: '¿Estás seguro que quieres desactivar la experiencia?',\n msgBody: 'Recuerda que si deseas volver a activar la experiencia puedes hacerlo desde este mismo panel de propiedades.'\n },\n activateExp: {\n msg: '¿Estás seguro que quieres reactivar la experiencia?',\n msgBody: 'Recuerda que si deseas volver a desactivar la experiencia puedes hacerlo desde este mismo panel de propiedades.'\n },\n newExp: {\n imgTracking: 'Image Tracking',\n chooseTypeExp: 'Elige un tipo de experiencia',\n createExp: 'Crear experiencia',\n expTypePlane: 'experiencias de tipo plana',\n expTypeImageTracking: 'experiencias de tipo image tracking',\n createExpPlane: 'Crear una experiencia plana',\n createExpImageTracking: 'Image Tracking',\n\n expTypeWorldTracking: 'experiencias de tipo world tracking',\n createExpWorldTracking: 'World Tracking',\n\n expTypeImmersive: 'experiencias de tipo 360 Web',\n createExpImmersive: 'Web 360 / Web VR',\n\n expTypeWorld: 'experiencias de tipo mundo',\n activeExp: 'que activará tu experiencia',\n formatsTarget: 'Formatos de target .jpg',\n campaignSelectOrCreate: 'Seleccionar o tipear para crear un nuevo Proyecto',\n previewText: {\n title: 'Consejos para crear un soporte impreso con buena calidad de detección:',\n description: ' Variedad de formas y contrastes, Diseños con formas angulares que generan vértices, figuras y fondos bien definidos, contenidos gráficos en la mayoría de los superficies de la composición.',\n footer: 'Para más información sobre los targets visitá nuestra',\n support: 'Página de soporte'\n },\n valids: {\n requiredName: 'Necesitas agregar un nombre de experiencia',\n requiredProject: 'Necesitas seleccionar un proyecto',\n requiredTarget: 'Necesitas seleccionar un target',\n ExperienceAlreadyExists: 'Ya existe una experiencia con el mismo nombre en este proyecto.',\n ExperienceAlreadyExistsBody: 'Por favor cambia el nombre por uno diferente.'\n }\n }\n },\n pages: {\n signUp: {\n errors: {\n confirmPassReq: 'Confirmar Contraseña requerida',\n emailReq: 'Email requerido',\n passwordReq: 'Contraseña requerida',\n passwordLength: \"La contraseña no es lo suficientemente larga\",\n passwordNotMatch: 'Las contraseñas no coinciden',\n accountExist: 'Ya existe una cuenta con esta dirección de email',\n characters: 'La contraseña debe tener al menos un número y un símbolo ',\n passwordMayus: 'La contraseña debe tener algún caracter con mayúscula',\n notEmpty: 'Los campos no pueden estar vacios',\n passwordMinus: 'La contraseña debe tener algún caracter con minúscula',\n passwordSymbol: 'La contraseña debe tener algún caracter de símbolo',\n someValueNull: 'Debe rellenar todos los campos',\n currentPasswordInvalid: 'La contraseña actual es incorrecta.',\n limitReached: 'Ha exedido el Límite de intentos, intente más tarde.'\n },\n registerInStudio: 'Registrate en Studio gratis y comenzá a crear experiencias inmersivas',\n haveAnAccount: '¿Ya tenés cuenta?',\n enter: 'Ingresá',\n conditions: 'Al crear una cuenta en CamOn Studio acepto los ',\n conditionsPayment: 'Al comprar una cuenta en CamOn Studio acepto los ',\n conditionsTwo: 'Términos y Condiciones',\n conditionsTwoUrl: 'https://camonapp.com/terminos-y-condiciones/',\n conditionsAnd: 'y',\n privacyPolicies: 'Políticas de privacidad',\n privacyPoliciesUrl: 'https://camonapp.com/politica-de-privacidad/',\n createFreeAccount: 'Creá tu cuenta gratuita'\n },\n signIn: {\n errors: {\n userNotFound: 'Usuario no encontrado',\n notAuthorized: 'Email o contraseña incorrecta',\n notConfirmed: \"Usuario no confirmado\",\n userNoGroups: 'Permisos insuficientes'\n },\n resetPass: 'Para poder ingresar a CamOn Studio será necesario que cambies tu contraseña',\n isNewUser: '¿Usuario nuevo?',\n createFreeAccount: 'Creá tu cuenta gratis',\n forgotMyPass: 'Olvidé mi contraseña',\n enterStudio: 'Ingresar a Studio',\n enter: 'Ingresá a'\n },\n campaigns: {\n modal: {\n edit: {\n title: 'Editar el nombre del proyecto'\n },\n delete: {\n title: 'Eliminar Proyecto',\n msg: '¿Estás seguro que quieres eliminar este proyecto?',\n msgBody: 'Eliminando el proyecto eliminas también todas sus experiencias. Una vez borrado el proyecto no puede ser recuperado.'\n }\n },\n openProject: 'Abrir Proyecto',\n experiences: 'Experiencias',\n experience: 'Experiencia',\n namePlaceHolder: 'Nombre',\n actions: {\n changeName: 'Cambiar Nombre',\n delete: 'Eliminar',\n editCustomLoader: 'Editar custom loader',\n viewReport: 'Ver Reportes',\n migProject: 'Migrar Proyecto'\n },\n project: 'Proyectos'\n },\n campaign: {\n tutorial: {\n title: 'Aprendé a usar Studio',\n subtitle: 'Mirá nuestros tutoriales y aprendé todas las funcionalidades de CamOn Studio'\n },\n projectBreadcrumb: 'Proyecto'\n },\n profile: {\n deleteAccount: {\n msg: '¿Estás seguro que deseas eliminar la cuenta?',\n msgBody: 'Por seguridad rellena el campo inferior con tu mail.',\n inputLabel: 'Correo',\n }\n },\n subscription: {\n linkPricing: 'Ver precios',\n form: {\n title: 'Envianos tus datos y nos pondremos en contacto',\n paymentMethod: 'Método de pago',\n discountCoupon: 'Cupón de descuento',\n promotions: 'Promociones',\n insertDiscount: 'Inserta tu cupón de descuento aquí',\n insertUsername: 'Ingresa tu nombre',\n insertSurname: 'Ingresa tu apellido',\n insertPhone: 'Ingresa un teléfono de contacto',\n insertBillingAddress: 'Ingresa tu domicilio',\n insertCP: 'Ingresar CP',\n insertCountry: 'Selecciona el país donde te encuentras',\n insertCity: 'Ingresa la ciudad o localidad',\n errorCoupon: 'El cupón no existe',\n fieldReq: 'Complete el campo',\n emailReq: 'Email es requerido',\n validEmail: \"Por favor ingresar un email válido\",\n reqTelephone: 'Favor de completar el campo de teléfono',\n validTelephone: 'El campo Teléfono solo puede tener valores numéricos',\n billing: 'Facturación',\n name: 'Nombre',\n surname: 'Apellido',\n cpCode: 'Codigo Postal',\n address: 'Dirección',\n city: 'Ciudad',\n country: 'País',\n personalData: 'Datos Personales',\n labels: {\n coupon: 'Cupón',\n username: 'Nombre',\n surname: 'Apellido',\n phone: 'Teléfono',\n spanish: 'Español',\n english: 'Inglés',\n address: 'Dirección',\n postalCode: 'Código Postal',\n city: 'Ciudad/Localidad',\n country: 'País',\n submit: 'Enviar'\n },\n success: 'Nos pondremos en contacto a la brevedad.'\n },\n month: 'mes',\n year: 'año',\n title: 'Suscripción',\n basicPlan: 'Cuenta Básica',\n professionalPlan: 'Cuenta Profesional',\n canCancelSubscription: 'Puedes cancelar la suscripción cuando quieras',\n annualSaving: 'Ahorras 240 USD',\n upgradePlan: 'Actualizar a Pro',\n yearlyPlan: 'Plan anual',\n monthlyPlan: 'Plan mensual',\n withoutCreditCard: 'Acceso sin tarjeta de crédito',\n unlimitedExperiences: 'Crea experiencias ilimitadamente',\n publishDrafts: 'Publicar borradores',\n views: 'vistas',\n monthlyScan: 'escaneos mensuales',\n accessReportsMetrics: 'Acceso a reportes y métricas',\n helpCenter: 'Centro de ayuda',\n personalSupport: 'Soporte personalizado'\n },\n onboarding: {\n welcome: 'Bienvenido a Studio',\n firstExperience: 'Crea tu primera experiencia en CamOn Studio para conocer todas las funcionalidades y opciones de esta herramienta',\n buttonFirst: 'Crea tu primera experiencia',\n },\n confirm: {\n goToLogin: 'Ir a login',\n confirmationSend: {\n mailConfirmSent: 'Se ha enviado un email de confirmación',\n checkMail: 'Revisa tu mail y confirma tu cuenta',\n },\n resetSend: {\n mailSent: 'Te hemos enviado un email',\n checkMail: 'Revisa tu email y sigue las instrucciones para resetear tu contraseña'\n },\n resetOk: {\n passReset: 'Has restablecido tu contraseña correctamente'\n }\n },\n endOfTrial: {\n endTrial: 'Tu período de prueba terminó',\n paragraph: 'Esperamos que hayas disfrutado usando Studio hasta ahora, si quieres seguir usándolo de aquí en adelante actualiza tu cuenta a Pro. Recuerda que puedes dar de baja tu suscripción en el momento que quieras y que tus proyectos estarán para vos cuando decidas actualizar tu cuenta',\n upgrade: 'Actualiza a PRO'\n },\n error: {\n 404: 'No pudimos encontrar la página que buscas',\n return: 'Volver a tus experiencias recientes'\n },\n warningMobile: \"Actualmente CamOn Studio está disponible sólo para su version de escritorio.\",\n account: {\n tabs: {\n subscription: 'Subscripción',\n companies: 'Compañías',\n users: 'Usuarios',\n publishes: 'Publicaciones',\n educationals: 'Entidades Educativas',\n professors: 'Profesores',\n students: 'Estudiantes',\n profile: 'Perfil'\n },\n deleteAccount: 'Error en la validación',\n backToProject: 'Volver a Proyectos',\n sureMsg: '¿Estás seguro?',\n pagination: {\n prev: 'Anterior',\n next: 'Siguiente'\n },\n addMsg: 'Se creó correctamente',\n classroom: {\n modal: {\n add: {\n title: 'Agregar Cátedra'\n },\n edit: {\n title: 'Editar Cátedra'\n }\n },\n headTable: {\n name: 'Nombre',\n code: 'Código',\n professor: 'Profesor',\n emailProfessor: 'Email Profesor',\n actions: 'Acciones'\n },\n pagination: {\n prev: 'Anterior',\n next: 'Siguiente'\n },\n form: {\n nameClassroom: 'Nombre de Cátedra',\n nameProfessor: 'Nombre Profesor',\n surnameProfessor: 'Apellido Profesor',\n emailProfessor: 'Email Professor'\n }\n },\n companies: {\n modal: {\n add: {\n title: 'Agregar Compañía'\n },\n edit: {\n title: 'Editar Compañía'\n },\n delete: {\n title: 'Eliminar Compañía',\n msg: '¿Estás seguro que deseas eliminar la compañía?'\n }\n },\n headTable: {\n name: 'Nombre',\n type: 'Tipo',\n canPublish: 'Puede Publicar',\n reports: 'Puede Ver Reportes',\n actions: 'Acciones'\n },\n pagination: {\n prev: 'Anterior',\n next: 'Siguiente'\n },\n form: {\n credentials: 'Credenciales'\n }\n },\n educational: {\n addEntity: 'Agregar Entidad',\n modal: {\n add: {\n msg: '',\n title: 'Agregar Entidad Educativa'\n },\n edit: {\n title: 'Editar Entidad Educativa'\n },\n delete: {\n title: 'Eliminar Entidad Educativa',\n msg: '¿Estás seguro que deseas eliminar la institución educativa?'\n }\n },\n headTable: {\n name: 'Nombre',\n type: 'Tipo',\n canPublish: 'Puede Publicar',\n reports: 'Ver Reportes',\n actions: 'Acciones'\n },\n pagination: {\n prev: 'Anterior',\n next: 'Siguiente'\n },\n form: {\n entityEducational: 'Entidad Educacional',\n\n }\n },\n professor: {\n modal: {\n add: {\n title: 'Agregar Profesor'\n },\n edit: {\n title: 'Editar Profesor'\n },\n delete: {\n title: 'Eliminar Profesor',\n msg: 'Esta acción eliminará todos los contenidos relacionados.',\n continue: '¿Deseas continuar?'\n },\n }\n },\n publishes: {\n notification: {\n rejected: 'Rechazado',\n msgRejected: 'Se ha rechazado correctamente',\n approved: 'Aprobado',\n msgApproved: 'Se aprobó correctamente'\n },\n modal: {\n approve: {\n title: 'Aprobar Publicación',\n msg: 'Se aprobará la publicación'\n },\n rejected: {\n title: 'Rechazar Publicación',\n msg: 'Se rechazará la publicación.'\n }\n },\n headTable: {\n campaign: 'Campaña',\n name: 'Nombre',\n out: 'Salida',\n date: 'Fecha',\n },\n actions: {\n see: 'Ver',\n approve: 'Aprovar',\n rejected: 'Rechazar'\n }\n },\n student: {\n modal: {\n add: {\n title: 'Agregar Estudiante',\n },\n edit: {\n title: 'Editar Estudiante',\n },\n delete: {\n title: 'Eliminar Estudiante',\n msg: 'Esta acción eliminará todos los contenidos relacionados.'\n }\n },\n headTable: {\n classroom: 'Cátedra',\n },\n },\n subscription: {\n modal: {\n cancel: {\n title: '¿Deseas cancelar la Suscripción?'\n }\n },\n labels: {\n free: 'Gratis',\n expiration: 'Tu prueba gratis finaliza en',\n expired: 'Tu prueba gratis finalizó',\n days: 'días',\n freePlan: 'Actualmente te encuentras en plan gratuito',\n noPurchase: 'No haz realizado ninguna compra aún',\n yourPlan: 'Tu plan',\n profesionalSubscription: 'Suscripción Profesional',\n untilValid: 'Válida hasta',\n planAnnual: 'Suscripción Anual',\n planMonthly: 'Suscripción Mensual',\n cancelButton: 'Cancelar Suscripción',\n paymentMethod: 'Método de pago',\n creditCard: 'Tarjeta de crédito',\n billingInfo: 'Información de facturación',\n nameSurname: 'Nombre y Apellido',\n address: 'Dirección',\n city: 'Ciudad',\n country: 'País',\n invoices: 'Facturas',\n downloadInvoice: 'Descargar Factura',\n subscriptionCancelled: 'Se canceló la suscripción correctamente',\n subscription: 'Subscripción'\n }\n },\n userProfile: {\n modal: {\n edit: {\n title: 'Editar información de la cuenta'\n },\n sec: {\n title: 'Editar información de seguridad'\n },\n delete: {\n title: 'Eliminar cuenta'\n },\n changePass: {\n title: 'Alerta',\n msg: 'Se procederá a cerrar la sesion debido al cambio de contraseña'\n }\n },\n labels: {\n fakeName: 'Nombre',\n user: 'USUARIO',\n phone: 'Teléfono',\n spanish: 'Español',\n english: 'Inglés',\n language: 'Idioma',\n security: 'Seguridad',\n password: 'Contraseña',\n inviteLink: 'Enlace de invitación',\n link: 'Link',\n deleteAccount: 'Eliminar cuenta',\n deleteAccountStudio: 'Eliminar mi cuenta de CamOn Studio',\n phoneInvalid: 'Numero de telefono invalido',\n previousPassword: 'Contraseña anterior',\n newPassword: 'Contraseña nueva',\n confirmPassword: 'Confirmar contraseña',\n }\n },\n users: {\n modal: {\n add: {\n msg: 'Se creó correctamente',\n title: 'Agregar Usuario'\n },\n update: {\n msg: 'Se actualizó correctamente',\n title: 'Editar Usuario'\n },\n disable: {\n msg: 'Esta acción despublicará todos los contenidos relacionados.',\n title: 'Deshabilitar Usuario'\n },\n delete: {\n title: 'Eliminar Usuario',\n msg: 'Esta acción eliminará todos los contenidos relacionados.'\n },\n edit: {\n title: 'Editar Usuario'\n }\n },\n form: {\n labelUserType: 'Tipo de usuario',\n userType: {\n userCamonapp: 'CamOn Editor',\n marketing: 'Marketing',\n admin: 'Administrador',\n companyUser: 'Usuario de compañía'\n },\n company: 'Compañía'\n }\n }\n },\n recent: {\n recentExp: 'Experiencias Recientes'\n },\n samplesGallery: {\n samplesGallery: 'Experiencias de Ejemplo'\n },\n videoTutorials: {\n project: 'Videos'\n },\n experiencesT: 'Experiencias',\n reports: {\n reports: 'Reportes',\n tabs: {\n allCompanies: 'Todas las empresas',\n campaign: 'CAMPAÑA',\n experience: 'EXPERIENCIA'\n },\n alertTitle: 'Generando Reporte',\n alertBody: 'El reporte está siendo generado y será enviado a su mail en los próximos minutos',\n headTable: {\n company: 'Empresa',\n filter: 'Filtrar',\n views: 'Vistas',\n campaign: 'Campaña',\n experience: 'Experiencia',\n actionType: 'Tipo de acción',\n quantity: 'Cantidad'\n },\n totalViews: 'Vistas Totales',\n users: 'Usuarios',\n time: 'Tiempo promedio',\n downloadReport: 'Descargar Reporte',\n viewForDay: 'Número de vistas por día',\n statistics: 'Estadísticas',\n cantView: 'Cantidad de vistas - fechas de interacción',\n demographicData: 'Datos demográficos',\n so: 'Sistema Operativo'\n },\n webComponents: {\n webComponents: \"Componentes Web\"\n },\n customForgot: {\n paragraph: 'Ingresá tu email con el que te registraste y te enviaremos las instrucciones para recuperar la contraseña',\n recoveryPass: 'Recuperá tu contraseña',\n resetPass: 'Reseteá tu contraseña',\n backToLoginButton: 'Ok, volver a iniciar sesión',\n infoMsg: 'Revisa la cuenta, recibiras un email con las intrucciones de como reestablecer tu contraseña. Recordá revisar la carpeta de correo no deseado',\n titleMsg: 'Te hemos enviado un mail'\n },\n requireNewPass: {\n passwordReset: 'Contraseña restablecida',\n updatePassword: 'Actualizar contraseña',\n titleMsg: 'Has reestablecido tu contraseña correctamente'\n },\n status: {\n statusExp: 'Estado de tus experiencias',\n seeAll: 'Ver todos'\n }\n },\n notification: {\n action: {\n expCreated: \"Experiencia creada con Éxito\"\n },\n label: \"Cerrar\"\n },\n filters: {\n labels: {\n status: 'Estado',\n experienceType: 'Tipo de experiencia',\n order: 'Ordenar por',\n },\n status: {\n all: 'Todos',\n published: 'Publicados',\n notPublished: 'No publicados',\n onReview: 'Revisión',\n rejected: 'Rechazados'\n },\n expType: {\n all: 'Todos',\n world: 'Mundo',\n plane: 'Plana'\n },\n sort: {\n recent: 'Reciente',\n created: 'Fecha de creación',\n name: 'Nombre'\n },\n project: 'Proyectos'\n },\n help: {\n goToSupport: 'Ir a soporte',\n termsAndConditions: 'Terminos y condiciones',\n privacyPolicies: 'Políticas de privacidad'\n },\n contactForm: {\n title: 'Contacto',\n fields: {\n subject: \"Asunto\",\n message: \"Mensaje\"\n },\n button: {\n sending: \"Enviando...\",\n send: \"Enviar\"\n },\n messages: {\n sentOk: \"¡Gracias! Tu mensaje ha sido enviado.\",\n sentFailed: \"¡Ups! Ocurrió un problema al enviar tu mensaje.\"\n }\n },\n assets: {\n error: {\n maxVertices: \"Excede los 75000 polígonos\",\n maxResolutionGlb: \"Excede el máximo de resolución permitido para texturas: 2048x2048\",\n }\n },\n overlays:{\n title: \"Overlays\",\n selectComponenLabel: \"Overlays\",\n visualiser:{\n desktop: \"Escritorio\",\n mobile: \"Celular\"\n },\n propertyLabel: \"Propiedad\",\n properties:{\n\n select: \"Variables\",\n visibility: \"Visibilidad\",\n height:\"Alto\",\n width: \"Ancho\",\n size: \"Tamaño\",\n personalizationButton: \"Personalización del botón\",\n background:\"Color de fondo\",\n iconUrl:\"Imagen\",\n setUrl: \"Url de imagen\",\n primaryTextColor: \"Color de texto primario\",\n secondaryTextColor: \"Color de texto secundario\",\n primaryBackgroundColor: \"Color de fondo\",\n secondaryBackgroundColor: \"Color de fondo secundario\",\n primaryBackgroundUrl: \"Url de imagen en reposo\",\n secondaryBackgroundUrl: \"Url de imagen al hacer click\",\n terciaryBackgroundUrl:\"Url de imagen al hacer click\",\n shape:\"Forma\",\n type:\"Tipo\",\n top: \"Distancia al margen superior\",\n left: \"Distancia al margen izquierdo\",\n right: \"Distancia al margen derecho\",\n bottom: \"Distancia al margen inferior\",\n unity: \"Unidad\",\n url : \"Ruta\",\n steps:\"Pasos\",\n title:\"Título\",\n description:\"Descripción\",\n activeItemColor:\"Color de stepper activo\",\n itemColor: \"Color de stepper pasivo\",\n buttonColor:\"Color del botón\",\n font:\"Fuente\",\n timeToAppear: \"Delay\",\n textLeftButton: \"Texto del boton izquierdo\",\n textRightButton: \"Texto del boton derecho\",\n position:\"Posición\",\n header:\"Título\",\n transitionDirection:\"Transición\",\n transitionLTR: \"De izquierda a derecha\",\n transitionRTL: \"De derecha a izquierda\",\n leftPosition: \"Izquierda\",\n rightPosition: \"Derecha\",\n centerPosition:\"Centro\",\n tab: \"Pestaña\",\n new: \"Nueva\",\n current: \"Actual\",\n items:\"Items del menú\",\n href:\"Url destino\",\n textAlign: \"Alineación del texto\",\n text:\"Texto\",\n textAndColor: \"Texto y color de botones\",\n buttonsColor: \"Color de botones\",\n alignment: \"Alineación\",\n primaryText: \"Texto primario\",\n secondaryText: \"Texto secundario\",\n textColor: \"Color del texto primario y secundario\",\n textColorButtons: \"Color del texto de botones\",\n backgroundRightButton: \"Color de fondo del botón derecho\",\n backgroundLefttButton: \"Color de fondo del botón Izquierdo\",\n backgroundRightButtonHover: \"Color de fondo del botón derecho en hover\",\n backgroundLefttButtonHover: \"Color de fondo del botón Izquierdo en hover\",\n backgroundRightButtonClick: \"Color de fondo del botón derecho en click\",\n backgroundLefttButtonClick: \"Color de fondo del botón Izquierdo en click\",\n textColorLeftButton:\"Color de texto del botón izquierdo\",\n textColorRightButton:\"Color de texto del botón derecho\",\n textColorLeftButtonHover: \"Color de texto del boton izquierdo en hover\",\n textColorRightButtonHover: \"Color de texto del boton derecho en hover\",\n colors: \"Colores\",\n closeButton: \"Botón para cerrar\",\n mesaures: \"Medidas\"\n \n },\n export: \"Exportar\",\n includeLibrary: \"Incluir librería\",\n copied: \"Copiado\",\n copy: \"Copiar\",\n component : {\n cowcFooterBotton: {\n value: \"cowc-footer-botton\",\n label: \"Pie de página\"\n },\n cowc360NavigationTour:{\n value: \"cowc-360-navigation-tour\",\n label: \"Tour de navegación\"\n },\n cowcBackButton:{\n value: \"cowc-back-button\",\n label: \"Botón de volver\"\n },\n cowcIconButton: {\n value: \"cowc-icon-button\",\n label: \"Botón con ícono\"\n },\n cowcMenu:{\n value: \"cowc-menu\",\n label: \"Menú\"\n },\n cowcModal:{\n value: \"cowc-modal\",\n label: \"Modal\"\n },\n cowcModalWithTrigger:{\n value: \"cowc-modal-with-trigger\",\n label: \"Modal con botón\"\n },\n cowcShopButton:{\n value: \"cowc-shop-button\",\n label: \"Botón de compra\"\n }\n },\n },\n \n tablePublications: {\n title: 'Panel de control',\n experience: 'Experiencia',\n user: 'Usuario',\n limitDate: 'Fecha fin',\n timer: 'Tiempo',\n status: 'Off / On'\n },\n dateModal:{\n msjError: \"Por favor, elija una fecha futura\"\n }\n}","export default {\n published: \"Published\",\n in_revision: \"In Review\",\n unpublished: \"Not Published\",\n rejected: \"Rejected\",\n requiredEmail: 'Email Required',\n requiredPassword: 'Password Required',\n actions: {\n edit: 'Edit',\n copy: 'Copy',\n add: 'Add',\n cancel: 'Cancel',\n accept: 'Accept',\n delete: 'Delete',\n send: 'Send',\n close: 'Close',\n enable: 'Enable',\n disable: 'Disable',\n changeTarget: 'Change Target',\n understood: 'Understood',\n editAR: 'Edit background',\n changeAlias: 'Change alias',\n changeName: 'Change name',\n changeLoading: 'Change Loading',\n convertToAd: 'Convert to ad',\n convertToNormal: 'Undo ad mode'\n },\n common: {\n labels: {\n email: 'Email',\n type: 'Type',\n spanish: 'Spanish',\n english: 'English',\n status: 'Status',\n actions: 'Actions',\n active: 'Active',\n inactive: 'Inactive',\n nameSurname: 'Name and Surname',\n world: 'World',\n plane: 'Flat',\n imageTracking: 'Image Tracking',\n worldTracking: 'World Tracking',\n immersive: 'Web 360 / Web VR',\n 360: '360',\n face: 'Face',\n phone: 'Telephone',\n country: 'Country',\n name: 'Name',\n nameExperience: 'Experience name',\n nameCampaign: 'Project name',\n password: 'Password',\n surname: 'Surname',\n company: 'Company',\n project: 'Project',\n user: 'User',\n experience: 'Experience'\n },\n msg: {\n doYouContinue: 'Do you wish to continue?',\n success: 'Success'\n },\n alerts: {\n title: 'Alert'\n },\n },\n header: {\n placeholder: \"Search\",\n user: 'User',\n profile: 'Profile',\n logout: 'Exit',\n search: 'Start typing to search through your experiences',\n menu: {\n profile: 'Profile',\n subscription: 'Subscription',\n toPro: 'UPGRADE TO PRO',\n logout: 'Logout',\n paymentMethod: 'Payment Method',\n billingInfo: 'Invoice Info',\n billings: 'Invoices',\n companies: 'Companies',\n users: 'Users',\n published: 'Publications',\n sdk: 'SDK'\n }\n },\n sidebar: {\n action: 'New experience',\n menu: {\n campaign: 'Projects',\n recent: 'Recent',\n published: 'Status',\n reports: 'Reports',\n reportsV2: 'Reports',\n webComponents: 'Overlays',\n controlPanel: 'Control panel',\n samplesGallery: 'Demo Gallery',\n videoTutorials: 'Video Tutorials',\n userManual: 'User manual',\n faqs: 'FAQs'\n },\n footer: {\n title: 'Your free trial will end in',\n time: 'days',\n action: 'Upgrade to Pro'\n }\n },\n customLoaderSidebar: {\n menu: {\n screenOptions: {\n general: 'General',\n loader: 'Loading Screen',\n qr: 'QR Screen (MVAR)',\n qrWTW: 'QR Screen (World Tracking Web)',\n },\n screens: {\n general: {\n favicon: \"Favicon\",\n documentTitle: \"Page Title\"\n },\n loader: {\n header: 'Header image',\n fonts: 'Fonts',\n centerLogo: 'Center logo',\n loadingBar: 'Loading bar',\n footer: 'Footer text',\n background: 'Background',\n grid: 'Grid',\n gradiant: 'Gradiant',\n language: 'Language',\n spanish: 'Spanish',\n english: 'English',\n black: 'Black',\n white: 'White'\n },\n qr: {\n fonts: 'Fonts',\n brandImage: 'Brand Image',\n loadingBar: 'Loading bar',\n footer: 'Footer text',\n background: 'Background',\n grid: 'Grid',\n gradiant: 'Gradiant',\n button: 'Button',\n buttonTextColor: 'Text',\n buttonBgColor: 'Background',\n language: 'Language',\n spanish: 'Spanish',\n english: 'English',\n black: 'Black',\n white: 'White'\n },\n qrWTW: {\n fonts: 'Fonts',\n brandImage: 'Brand Image',\n footer: 'Footer text',\n background: 'Background',\n grid: 'Grid',\n gradiant: 'Gradiant',\n language: 'Language',\n spanish: 'Spanish',\n english: 'English',\n black: 'Black',\n white: 'White'\n }\n },\n favicon: \"Favicon\",\n header: 'Header image',\n loadingHeaderFonts: 'Fonts',\n headerText: 'Header text',\n centerLogo: 'Center logo',\n loadingBar: 'Loading bar',\n footer: 'Footer text',\n background: 'Background',\n grid: 'Grid',\n gradiant: 'Gradiant',\n buttons: 'Buttons',\n language: 'Language',\n spanish: 'Spanish',\n english: 'English',\n black: 'Black',\n white: 'White'\n }\n },\n\n dragAndDropFile: {\n textBackground: 'Add or drag the selected background',\n text: 'Select an image',\n textHeader: 'Add or drag the selected image',\n format: 'Image formats SVG, PNG or JPEG',\n formatIcon: 'Image formats ICO',\n format2: 'Image formats .jpg or .jpeg',\n quit: 'Delete image',\n add: 'Add image',\n inputSelect: 'Select an option' \n },\n\n customLoaderLayout: {\n title: 'Edit custom loader',\n error: 'Error',\n back: 'Back to projects',\n apply: 'Apply changes',\n discard: 'Return to default',\n applyChanges: 'Changes applied successfully',\n errorChanges: 'An error has occurred',\n discardMessage: 'All customization will be deleted. Are you sure?',\n formatImage: 'Only images in svg, png or jpeg format can be uploaded',\n formatImageIcon: 'Only images in ico format can be uploaded',\n yes: \"Yes\"\n },\n\n editAr:{\n error: 'Error',\n formatImage: 'Only images in .jpg or .jpeg format can be uploaded',\n ok: \"OK\"\n },\n\n experienceNewFlow: {\n invalidSize: 'Target must be 5 MB or less',\n internalError: 'Internal error, try again later',\n title: 'Choose an experience type',\n imageTracking: 'Image Tracking',\n imageTrackingDescription: 'In this type of experience you will be able to create interactive content in augmented reality on a physical image (target), for example: a product label, a poster, a mural, etc.',\n worldTracking: 'World Tracking',\n worldTrackingDescription: 'By creating a “World Tracking” experience you will be able to include 2D and 3D content in real environments, positioning them on flat surfaces in the real world.',\n worldTrackingSubtitle: 'Interactive experiences created through Studio can be viewed in 2 ways: via app (CamOn) or through a web browser.',\n worldTrackingApp: 'App',\n worldTrackingWeb: 'Web',\n worldTrackingAppDescription: 'CamOn is the application that transforms the mobile device into a scanner, allowing you to discover interactive experiences on printed media.',\n worldTrackingWebDescription: 'Interactive experiences are viewed through the web browser of a mobile device, accessed through a URL or by scanning a QR code.',\n markerBased: 'With target',\n markerLess: 'No target',\n markerBasedDescription: 'To access the interactive experience, the user has to scan an image through the CamOn application.',\n markerLessDescription: 'If target is not defined, the user accesses the experience by scanning a QR code with the camera of the mobile device, or through a web link.',\n subtitleWorldTracking: 'Define the way to access these experiences',\n prox: 'Coming soon',\n app: 'App',\n web: 'Web',\n immersiveAppDescription: 'CamOn is the application that transforms the mobile device into a scanner, allowing you to discover interactive experiences on printed media.',\n immersiveWebDescription: 'Interactive experiences are viewed through the web browser of a mobile device, accessed through a URL or by scanning a QR code.',\n immersive: 'Web 360 / Web VR',\n subtitleImmersive: 'Interactive experiences created through Studio can be viewed in 2 ways: via app (CamOn) or through a web browser.',\n subtitleAppImmersive: 'Define the way to access these experiences',\n immersiveDescription: 'The “Web 360” experiences place the user within a 360° context, allowing them to discover interactive content around them. ',\n faceTracking: 'Face Tracking',\n new: 'New',\n nameOfExperience: 'Name of the experience',\n nameOfCollection: 'Project name',\n nameOfCampaign: 'Campaign name',\n addTarget: 'Add a target',\n createExperience: 'Create experience',\n offlineExperience: 'Offline Experience',\n offlineTargetType: 'Target Type',\n offlineName: 'Offline Name',\n forAnotherUser: 'For another user',\n advertisement: \"Advertisement\"\n },\n studioNewFlow: {\n interactiveExperince: \"Web 360 / Web VR\",\n planeTracking: \"AR Plane Tracking\",\n planeTrackingDescription: 'By creating a “AR Plane Tracking” experience you will be able to include 3D content in real environments, positioning them on flat surfaces in the real world.',\n labelFromDragComponent: \"Add models\",\n infoImage: 'Drag your 3D model into the box.',\n new: \"New\",\n comingSoon: \"Coming soon\",\n title: \" Choose an experience Type\",\n interactiveExperinceDescription: \"The “Web 360” experiences place the user within a 360° context, allowing them to discover interactive content around them.\",\n model3d: \"Web AR\",\n model3dDescription: \"When you create a ModelViewer experience, you will be able to generate a 3D object viewer by positioning them on flat surfaces of the real world, proposing virtual testers.\",\n addModelGLB: \"Add GLB\",\n addModelUSDZ: \"Add USDZ\",\n addOrDragModel: 'Drag your 3D models',\n format: \"First, a .GLB format model must be added and then a USDZ format model must be added.\",\n changeModel: {\n invalidFile: 'The following files were excluded due to a loading problem: ',\n validFormat: 'Wrong file format',\n validEmptyTarget: 'Must be add a model',\n },\n newExp: {\n formatsModels: '.glb extension only',\n formatModels2: '.usdz extension only'\n },\n uploadsModels: 'Upload models',\n maxFilesError: '1 file is the limit to upload simultaneously. Please try again.',\n nameError: 'There is already an experience with the same name in this company. Please change the name to a different one.'\n },\n experiences: {\n addTarget: 'Add Target',\n nameExp: 'Experience Name',\n infoImage: 'Drag an image from your desktop to watch it.',\n infoExpInput: 'Name of the experience.',\n infoCampaign: 'All experience must be within a project. To create a new project just type its name; To add the experience to an existing project, write the first letters of the project and select it from the suggestions menu.',\n addOrDragTarget: 'Add or drag target',\n newAlias: 'mvar.camonapp.com/?a=',\n newName: 'New Name',\n success: 'Success',\n successBody: 'Changes are made successfully',\n error: 'Error alias already exists',\n editBackground: 'Edit background',\n changeBackground: 'Change background color',\n color: 'Color',\n image: 'Image',\n actions: {\n seeTarget: 'See Target',\n changeTarget: 'Change Target',\n edit: 'Edit experience name',\n active: 'Activate Experience',\n deactive: 'Deactivate Experience',\n enableVRMode: 'Enable VR mode',\n disableVRMode: 'Disable VR mode',\n cloneExp: 'Clone Experience',\n cloneDemoExp: 'Clone Experience into my Projects',\n migExp: 'Migrate Experience',\n migExpAdmin: 'Migrate Experience to another user',\n removeExp: 'Delete Experience',\n open: 'Open',\n toEdit: 'Edit',\n seeReports: 'View Reports',\n watchQR: 'QR Code',\n changeURL: 'You are about to change the URL of the experience.',\n endDate: 'You are about to schedule the experience URL change for '\n },\n msgActions: {\n changeTarget: 'Updated target',\n clone: 'Cloned experience',\n activate: 'Activated experience',\n deactivate: 'Disabled experience',\n migrate: 'Migrated experience',\n enableVRMode: 'VR Mode Compatibility enabled',\n disableVRMode: 'VR Mode Compatibility disabled',\n },\n vrMode: {\n tooltipPublishRequired: 'You first need to publish the experience to production to make use of this feature',\n requireProSubscription: 'This feature is available only to PRO subscriptors'\n },\n QRDialog: {\n QRDialogTitle: 'QR Code',\n published: 'This experience is published',\n notPublished: 'This experience is not published',\n tooltipMessage: 'Copied!',\n copyToClipboard: 'Copy to clipboard'\n },\n changeTarget: {\n validFormat: 'You have to add an image with valid format (.jpg)',\n validEmptyTarget: 'It is necessary to add a target',\n invalidSize: 'Target must be 5 MB or less',\n },\n cloneExp: {\n addOrDragTarget: 'Add or drag the target'\n },\n cloneDemoExp: {\n msgBody: 'To edit this experience, you need to clone it into your projects.',\n msg: 'Do you want to proceed?'\n },\n deleteExp: {\n msg: 'Are you sure you want to delete the experience?',\n msgBody: 'Once deleted, it cannot be recovered.'\n },\n enableVR: {\n msg: 'Are you sure you want to enable VR Mode?',\n msgBody: ''\n },\n disableVR: {\n msg: 'Are you sure you want to disable VR Mode?',\n msgBody: ''\n },\n deactivateExp: {\n msg: 'Are you sure you want to deactivate the experience?',\n msgBody: 'Remember that if you want to reactivate it, you can do so from this same properties panel.'\n },\n activateExp: {\n msg: 'Are you sure you want to reactivate the experience?',\n msgBody: 'Remember that if you want to desactivate it, you can do so from this same properties panel.'\n },\n newExp: {\n imgTracking: 'Image Tracking',\n chooseTypeExp: 'Choose an experience type',\n createExp: 'Create experience',\n expTypePlane: 'flat type experiences',\n expTypeImageTracking: 'image tracking experiences',\n createExpPlane: 'Create a flat experience',\n createExpImageTracking: 'Image Tracking',\n\n expTypeWorldTracking: 'experiences of type world tracking',\n createExpWorldTracking: 'World Tracking',\n\n expTypeImmersive: '360 Web experiences',\n createExpImmersive: 'Web 360 / Web VR ',\n\n expTypeWorld: 'world type experiences',\n activeExp: 'that will activate your experience',\n formatsTarget: 'Target formats .jpg',\n campaignSelectOrCreate: 'Select or type to create a new Project',\n previewText: {\n title: 'Tips for creating a printed medium with good detection quality:',\n description: 'Variety of shapes and contrasts, Designs with angular shapes that generate well-defined vertices, figures and backgrounds, graphic content on most surfaces of the composition.',\n footer: 'For more information about the targets visit our',\n support: 'Support page'\n },\n valids: {\n requiredName: 'Add a experience name',\n requiredProject: 'Select one proyect',\n requiredTarget: 'Select a target',\n ExperienceAlreadyExists: 'There already exists an experience with that name in this proyect.',\n ExperienceAlreadyExistsBody: 'Please choose a different one'\n }\n }\n },\n pages: {\n signUp: {\n errors: {\n confirmPassReq: 'Confirm password required',\n emailReq: 'Email required',\n passwordReq: 'Password required',\n passwordLength: \"The password is not long enough\",\n passwordNotMatch: 'Passwords do not match',\n accountExist: 'An account with this email address already exists',\n characters: 'The password must have at least one number and one symbol',\n passwordMayus: 'The password must have some capitalized character',\n passwordMinus: 'The password must have some lowercase character',\n passwordSymbol: 'The password must have some symbol character',\n someValueNull: 'You must fill in all fields',\n currentPasswordInvalid: 'The current password is incorrect.',\n limitReached: 'You have exceeded the Limit of attempts, please try again later.',\n notEmpty:'Fields cannot be empty',\n },\n registerInStudio: 'Register in Studio for free and start creating immersive experiences',\n haveAnAccount: 'Do you already have an account?',\n enter: 'Login',\n conditions: 'By creating an account in CamOn Studio I accept the',\n conditionsPayment: 'By purchasing an account in CamOn Studio I accept the',\n conditionsTwo: 'Terms and Conditions',\n conditionsTwoUrl: 'https://camonapp.com/en/terms-and-conditions/',\n conditionsAnd: 'and',\n privacyPolicies: 'Privacy policies',\n privacyPoliciesUrl: 'https://camonapp.com/en/privacy-policies/',\n createFreeAccount: 'Register'\n },\n signIn: {\n errors: {\n userNotFound: 'User not found',\n notAuthorized: 'Incorrect email or password',\n notConfirmed: \"User not confirmed\",\n userNoGroups: 'Insufficient permissions'\n\n },\n resetPass: 'To be able to enter CamOn Studio you will need to change your password',\n isNewUser: 'New user?',\n createFreeAccount: 'Create your free account',\n forgotMyPass: 'I forgot my password',\n enterStudio: 'Enter Studio',\n enter: 'Login'\n },\n campaigns: {\n modal: {\n edit: {\n title: 'Edit project name'\n },\n delete: {\n title: 'Delete Project',\n msg: 'Are you sure you want to delete this project?',\n msgBody: 'This will permanently delete all its experiences, and you won’t be able to recover them.' \n }\n },\n openProject: 'Open Project',\n experiences: 'Experiences',\n experience: 'Experience',\n namePlaceHolder:'Name',\n actions: {\n changeName: 'Change Name',\n delete: 'Delete',\n editCustomLoader: 'Edit custom loader',\n viewReport: 'View Reports',\n migProject: 'Migrate Project'\n },\n project: 'Projects'\n },\n campaign: {\n tutorial: {\n title: 'Learn to use Studio',\n subtitle: 'Watch our tutorials and learn all the features of CamOn Studio'\n },\n projectBreadcrumb: 'Project'\n },\n profile: {\n deleteAccount: {\n msg: 'Are you sure you want to delete your account?',\n msgBody: 'For security reasons, please enter your email in the field below.',\n inputLabel: 'Mail',\n }\n },\n subscription: {\n linkPricing: 'View pricing',\n form: {\n title: 'Send us your information and we will contact you',\n paymentMethod: 'Payment method',\n discountCoupon: 'Discount coupon',\n insertDiscount: 'Enter your discount coupon here',\n insertUsername: 'Enter your name',\n insertSurname: 'Enter your surname',\n insertPhone: 'Enter a valid phone number',\n insertBillingAddress: 'Enter your address',\n insertCity: 'Enter the city or town where you are located',\n insertCountry: 'Enter the country where you are located',\n errorCoupon: 'Coupon does not exist',\n fieldReq: 'Please fill the field',\n emailReq: 'Email required',\n validEmail: \"Enter a valid email\",\n name: 'Username',\n surname: 'Surname',\n cpCode: 'Postal Code',\n address: 'Address',\n city: 'City',\n country: 'Country',\n validTelephone: 'This field only accept number values',\n reqTelephone: 'Please fill the phone field',\n insertCP: 'ZIP Code',\n promotions: 'Promotions',\n billing: 'Billing',\n personalData: 'Personal Data',\n labels: {\n coupon: 'Coupon',\n username: 'Name',\n surname: 'Surname',\n phone: 'Telephone',\n spanish: 'Spanish',\n english: 'English',\n address: 'Address',\n postalCode: 'Postal Code',\n city: 'City / Town',\n country: 'Country',\n submit: 'Send'\n },\n success: 'We will contact you shortly.'\n },\n month: 'month',\n year: 'year',\n title: 'Subscription',\n basicPlan: 'Basic Account',\n professionalPlan: 'Professional Account',\n canCancelSubscription: 'You can cancel the subscription whenever you want',\n annualSaving: 'You save 240 USD',\n upgradePlan: 'Upgrade to Pro',\n yearlyPlan: 'Annual Plan',\n monthlyPlan: 'Monthly Plan ',\n withoutCreditCard: 'Access without credit card',\n unlimitedExperiences: 'Create unlimited experiences',\n publishDrafts: 'Publish drafts',\n views: 'views',\n monthlyScan: 'monthly scans',\n accessReportsMetrics: 'Access to reports and metrics',\n helpCenter: 'Help Center',\n personalSupport: 'Personalized support'\n },\n onboarding: {\n welcome: 'Welcome to Studio',\n firstExperience: 'Create your first experience in CamOn Studio to know all the functionalities and options of this tool',\n buttonFirst: 'Create your first experience'\n },\n confirm: {\n goToLogin: 'Go to login',\n confirmationSend: {\n mailConfirmSent: 'A confirmation email has been sent',\n checkMail: 'Check your email and confirm your account',\n },\n resetSend: {\n mailSent: 'We have sent you an email',\n checkMail: 'Check your email and follow the instructions to reset your password'\n },\n resetOk: {\n passReset: 'You have successfully reset your password'\n }\n },\n endOfTrial: {\n endTrial: 'Your trial period ended',\n paragraph: 'We hope you have enjoyed using Studio so far, if you want to continue using it from now on upgrade your account to Pro. Remember that you can unsubscribe at any time you want and that your projects will be there for you when you decide to update your bill',\n upgrade: 'Upgrade to PRO'\n },\n error: {\n 404: 'We could not find the page you are looking for',\n return: 'Go back to your recent experiences'\n },\n warningMobile: \"CamOn Studio is currently available only on the desktop version.\",\n account: {\n tabs: {\n subscription: 'Subscription',\n companies: 'Companies',\n users: 'Users',\n publishes: 'Publications',\n educationals: 'Educational Entities',\n professors: 'Professors',\n students: 'Students',\n profile: 'Profile'\n },\n deleteAccount: 'Validation failed',\n backToProject: 'Back to Projects',\n sureMsg: 'Are you sure?',\n pagination: {\n prev: 'Previous',\n next: 'Next'\n },\n addMsg: 'Created successfully',\n classroom: {\n modal: {\n add: {\n title: 'Add Chair'\n },\n edit: {\n title: 'Edit Chair'\n }\n },\n headTable: {\n name: 'Name',\n code: 'Code',\n professor: 'Professor',\n emailProfessor: 'Email Teacher',\n actions: 'Actions'\n },\n pagination: {\n prev: 'Previous',\n next: 'Next'\n },\n form: {\n nameClassroom: 'Chair Name',\n nameProfessor: 'Teacher Name',\n surnameProfessor: 'Last name Professor',\n emailProfessor: 'Email Professor'\n }\n },\n companies: {\n modal: {\n add: {\n title: 'Add Company'\n },\n edit: {\n title: 'Edit Company'\n },\n delete: {\n title: 'Delete Company',\n msg: 'Are you sure you want to delete the company?'\n }\n },\n headTable: {\n name: 'Name',\n type: 'Type',\n canPublish: 'Can Publish',\n reports: 'You can View Reports',\n actions: 'Actions'\n },\n pagination: {\n prev: 'Previous',\n next: 'Next'\n },\n form: {\n credentials: 'Credentials'\n }\n },\n educational: {\n addEntity: 'Add Entity',\n modal: {\n add: {\n title: 'Add Educational Entity'\n },\n edit: {\n title: 'Edit Educational Entity'\n },\n delete: {\n title: 'Delete Educational Entity',\n msg: 'Are you sure you want to delete the educational institution?'\n }\n },\n headTable: {\n name: 'Name',\n type: 'Type',\n canPublish: 'Can Publish',\n reports: 'View Reports',\n actions: 'Actions'\n },\n pagination: {\n prev: 'Previous',\n next: 'Next'\n },\n form: {\n entityEducational: 'Educational Entity',\n\n }\n },\n professor: {\n modal: {\n add: {\n title: 'Add Teacher'\n },\n edit: {\n title: 'Edit Teacher'\n },\n delete: {\n title: 'Delete Teacher',\n msg: 'This action will remove all related content.',\n continue: 'Do you want to continue?'\n },\n }\n },\n publishes: {\n notification: {\n rejected: 'Rejected',\n msgRejected: 'Successfully rejected',\n approved: 'Approved',\n msgApproved: 'Passed successfully'\n },\n modal: {\n approve: {\n title: 'Approve Publication',\n msg: 'Post will be approved'\n },\n rejected: {\n title: 'Reject Publication',\n msg: 'Post will be rejected.'\n }\n },\n headTable: {\n campaign: 'Campaign',\n name: 'Name',\n out: 'Exit',\n date: 'Date',\n },\n actions: {\n see: 'See',\n approve: 'Approve',\n rejected: 'Reject'\n }\n },\n student: {\n modal: {\n add: {\n title: 'Add Student',\n },\n edit: {\n title: 'Edit Student',\n },\n delete: {\n title: 'Delete Student',\n msg: 'This action will remove all related content.'\n }\n },\n headTable: {\n classroom: 'Chair',\n },\n },\n subscription: {\n yearlyPlan: 'Annual Plan',\n monthlyPlan: 'Monthly Plan',\n modal: {\n cancel: {\n title: 'Do you want to cancel the Subscription?'\n }\n },\n labels: {\n free: 'Free',\n expiration: 'Your free trial ends in',\n expired: 'Your free trial has ended',\n days: 'days',\n freePlan: 'You are currently on a free plan',\n noPurchase: 'You haven\\'t made any purchases yet ',\n yourPlan: 'Your plan',\n profesionalSubscription: 'Professional Subscription',\n untilValid: 'Valid until',\n planAnnual: 'Annual Subscription',\n planMonthly: 'Monthly Subscription',\n cancelButton: 'Cancel Subscription',\n paymentMethod: 'Payment method',\n creditCard: 'Credit card',\n billingInfo: 'Billing information',\n nameSurname: 'Name and Surname',\n address: 'Address',\n city: 'City',\n country: 'Country',\n invoices: 'Invoices',\n downloadInvoice: 'Download Invoice',\n subscriptionCancelled: 'Subscription was successfully canceled',\n subscription: 'Annual'\n }\n },\n userProfile: {\n modal: {\n edit: {\n title: 'Edit account information'\n },\n sec: {\n title: 'Edit security information'\n },\n delete: {\n title: 'Delete account'\n },\n changePass: {\n title: 'Alert',\n msg: 'The session will be closed due to the password change'\n }\n },\n labels: {\n fakeName: 'Name',\n user: 'USER',\n phone: 'Telephone',\n language: 'Language',\n security: 'Security',\n password: 'Password',\n inviteLink: 'Invitation link',\n link: 'Link',\n deleteAccount: 'Delete account',\n deleteAccountStudio: 'Delete my CamOn Studio account',\n phoneInvalid: 'Invalid phone number',\n previousPassword: 'Previous password',\n newPassword: 'New password',\n confirmPassword: 'Confirm password',\n spanish: 'Spanish',\n english: 'English'\n }\n },\n users: {\n modal: {\n add: {\n msg: 'Created successfully',\n title: 'Add User'\n },\n update: {\n msg: 'Updated successfully',\n title: 'Edit User'\n },\n disable: {\n msg: 'This action will unpublish all related content.',\n title: 'Disable User'\n },\n delete: {\n title: 'Delete User',\n msg: 'This action will remove all related content.'\n },\n edit: {\n title: 'Edit User'\n }\n },\n form: {\n labelUserType: 'User type',\n userType: {\n userCamonapp: 'CamOn Editor',\n marketing: 'Marketing',\n admin: 'Administrator',\n companyUser: 'Company User'\n },\n company: 'Company'\n }\n }\n },\n experiencesT: 'Experiencias',\n recent: {\n recentExp: 'Recent Experiences'\n },\n samplesGallery: {\n samplesGallery: 'Sample Experiences'\n },\n videoTutorials: {\n project: 'Videos'\n },\n reports: {\n reports: 'Reports',\n tabs: {\n allCompanies: 'All companies',\n campaign: 'CAMPAIGN',\n experience: 'EXPERIENCE'\n },\n alertTitle: 'Generating Report',\n alertBody: 'The report is being generated. You will receive an e-mail in a few minutes',\n headTable: {\n company: 'Company',\n filter: 'Filter',\n views: 'Views',\n campaign: 'Campaign',\n experience: 'Experience',\n actionType: 'Type of Interaction',\n quantity: 'Quantity'\n },\n totalViews: 'Total Views',\n users: 'Users',\n time: 'Average time',\n downloadReport: 'Download Report',\n viewForDay: 'Number of views per day',\n statistics: 'Statistics',\n cantView: 'Number of views - interaction dates',\n demographicData: 'Demographic data',\n so: 'Operating System'\n },\n webComponents: {\n webComponents: \"Overlays\"\n },\n customForgot: {\n paragraph: 'Enter your email with which you registered and we will send you the instructions to recover the password',\n recoveryPass: 'Recover your password',\n resetPass: 'Reset your password',\n backToLoginButton: 'Ok, login again',\n infoMsg: 'Check your account, you will receive an email with instructions on how to reset your password. Remember to check your spam folder.',\n titleMsg: 'We have sent you an email'\n },\n requireNewPass: {\n passwordReset: 'Password reset',\n updatePassword: 'Update password',\n titleMsg: 'You have successfully reset your password'\n },\n status: {\n statusExp: 'Status of your experiences',\n seeAll: 'See all'\n }\n },\n notification: {\n action: {\n expCreated: \"Experience created with Success\"\n },\n label: \"Close\"\n },\n filters: {\n labels: {\n status: 'Status',\n experienceType: 'Type of experience',\n order: 'Sort by',\n },\n status: {\n all: 'All',\n published: 'Published',\n notPublished: 'Not published',\n onReview: 'Review',\n rejected: 'Rejected'\n },\n expType: {\n all: 'All',\n world: 'World',\n plane: 'Flat'\n },\n sort: {\n recent: 'Recent',\n created: 'Creation date',\n name: 'Name'\n },\n project: 'Projects'\n },\n help: {\n goToSupport: 'Go to support',\n termsAndConditions: 'Terms and conditions',\n privacyPolicies: 'Privacy policies'\n },\n contactForm: {\n title: 'Contact Us',\n fields: {\n subject: \"Subject\",\n message: \"Message\"\n },\n button: {\n sending: \"Sending...\",\n send: \"Send\"\n },\n messages: {\n sentOk: \"Thank you! Your message has been sent.\",\n sentFailed: \"Oops! There was a problem sending your message.\"\n }\n },\n assets: {\n error: {\n maxVertices: \"Exceeds the maximum number of polygons allowed: 75000 polygons\",\n maxResolutionGlb: \"Exceeds the maximum resolution allowed for textures: 2048x2048\"\n }\n },\n overlays:{\n title: \"Overlays\",\n selectComponenLabel: \"Overlays\",\n visualiser:{\n desktop: \"Desktop\",\n mobile: \"Mobile\"\n },\n propertyLabel: \"Property\",\n properties:{\n select: \"Variables\",\n visibility: \"Visibility\",\n height:\"Height\",\n width: \"Width\",\n size: \"Size\",\n personalizationButton: \"Personalization button\",\n background:\"Background\",\n iconUrl:\"Image\",\n setUrl: \"Url image\",\n primaryTextColor: \"Primary text color\",\n secondaryTextColor: \"Secondary text color\",\n primaryBackgroundColor: \"background color\",\n secondaryBackgroundColor: \"Secondary background color\",\n primaryBackgroundUrl: \"Rest image url\",\n secondaryBackgroundUrl: \"On click image url\",\n terciaryBackgroundUrl:\"Image url on click\",\n shape:\"Shape\",\n type:\"Type\",\n top: \"Top margin distance\",\n left: \"Left margin distance\",\n right: \"Right margin distance\",\n bottom: \"Bottom margin distance\",\n unity: \"Unity\",\n url: \"Url\",\n steps:\"Steps\",\n title:\"Title\",\n description:\"Description\",\n activeItemColor:\"Stepper color active\",\n itemColor: \"Stepper color pasive\",\n buttonColor:\"Button color\",\n font:\"Font\",\n timeToAppear: \"Delay\",\n textLeftButton: \"Left click text\",\n textRightButton: \"Right click text\", \n position:\"Position\",\n header:\"Tittle\",\n transitionDirection:\"Transition\",\n transitionLTR: \"Left to rigth\",\n transitionRTL: \"Rigth to left\",\n leftPosition: \"Left\",\n rightPosition: \"Right\",\n centerPosition:\"Center\",\n new: \"New\",\n current: \"Current\",\n tab: \"Tab\",\n items:\"Item to menu\",\n href:\"Destination url\",\n textAlign: \"Text align\",\n text:\"Text\",\n textAndColor: \"buttons text and color\",\n buttonsColor: \"Buttons color\",\n alignment: \"Alignment\",\n primaryText: \"Primary text\",\n secondaryText: \"Secondary text\",\n textColor: \"Text color\",\n textColorButtons: \"Buttons text color\",\n backgroundRightButton: \"Right button color\",\n backgroundLefttButton: \"Left button color\",\n backgroundRightButtonHover: \"Right button color hover\",\n backgroundLefttButtonHover: \"Left button color hover\",\n backgroundRightButtonClick: \"Right button color click\",\n backgroundLefttButtonClick: \"Left button color click\",\n textColorLeftButtonHover: \"Left button text color on hover\",\n textColorRightButtonHover: \"Right button text color on hover\",\n textColorLeftButton:\"Text color left button\",\n textColorRightButton:\"Text color right button\",\n colors: \"Colors\",\n closeButton: \"Close Button\",\n mesaures: \"Measures\"\n }\n },\n export: \"Export\",\n includeLibrary: \"Include library\",\n copied:\"Copied\",\n copy: \"Copy\",\n component : {\n cowcFooterBotton: {\n value: \"cowc-footer-botton\",\n label: \"Footer\"\n },\n cowc360NavigationTour:{\n value: \"cowc-360-navigation-tour\",\n label: \"Navigation tour\"\n },\n cowcBackButton:{\n value: \"cowc-back-button\",\n label: \"Back button\"\n },\n cowcIconButton: {\n value: \"cowc-icon-button\",\n label: \"Icon button\"\n },\n cowcMenu:{\n value: \"cowc-menu\",\n label: \"Menu\"\n },\n cowcModal:{\n value: \"cowc-modal\",\n label: \"Modal\"\n },\n cowcModalWithTrigger:{\n value: \"cowc-modal-with-trigger\",\n label: \"Modal with button\"\n },\n cowcShopButton:{\n value: \"cowc-shop-button\",\n label: \"Shop button\"\n }\n },\n tablePublications: {\n title: 'Control panel',\n experience: 'Experience',\n user: 'User',\n limitDate: 'End Date',\n timer: 'Timer',\n status: 'Off / On'\n },\n dateModal: {\n msjError: \"Please select a future date.\"\n },\n}","import _ from 'lodash';\nimport messages from '../lang/index';\nimport getLocale from \"./locale\";\n\nconst locale = getLocale() || 'en';\nconst message = messages[locale];\n\nexport const emailValidation = email => {\n\n if (\n /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(\n email\n )\n ) {\n return null;\n }\n if (email.trim() === \"\") {\n return `${message.pages.subscription.form.emailReq}`;\n }\n return `${message.pages.subscription.form.validEmail}`;\n};\n\nexport const fieldRequired = (value, field) => {\n if (value.trim() === \"\") {\n return `${message.pages.subscription.form.fieldReq} ${field}`;\n }\n return null;\n};\n\nexport const phoneValidation = value => {\n if (_.trim(value) === \"\") {\n return `${message.pages.subscription.form.reqTelephone}`;\n }\n if (!\n /^[0-9]+$/.test(\n value\n )\n ) {\n return `${message.pages.subscription.form.validTelephone}`;\n }\n return null;\n};\n\n","import React, { memo, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@rmwc/textfield';\nimport { Button } from '@rmwc/button';\nimport _ from 'lodash';\nimport { useTranslate } from 'react-polyglot';\nimport { AutoComplete } from 'rsuite';\n\nimport SelectControl from '../common/select';\nimport CompanyService from '../../services/Companies';\nimport CommonForm from './CommonForm';\nimport ErrorMessage from '../ErrorMessage/ErrorMessage'\nimport { emailValidation } from '../../utils/formValidations';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport './userForm.scss';\n\nlet isUpdate = false;\n\nconst validate = {\n email: emailValidation,\n};\nconst USER_TYPES_INTERNAL = ['USER_CAMONAPP', 'USER_CAMONAPP_SALES', 'USER_CAMONAPP_ADMIN']\nconst COMPANY_CAMONAPP_ID = 6;\n\nconst UserForm = memo(function UserForm(props) {\n const [companies, setCompanies] = useState([]);\n const [initialValues, setInitialValues] = useState({\n name: '',\n surname: '',\n email: '',\n companyId: '',\n });\n const [isUserInternal, setIsUserInternal] = useState(true);\n const t = useTranslate();\n\n const COMPANY_TYPE = {\n COMPANY: 1,\n };\n\n useEffect(() => {\n fetchCompanies();\n\n if (props.data.email) {\n isUpdate = true;\n const user = props.data;\n setInitialValues({\n ...user,\n userType: user.userType.name,\n companyId: user.company.id,\n });\n } else {\n isUpdate = false;\n setInitialValues({\n name: '',\n surname: '',\n email: '',\n companyId: COMPANY_CAMONAPP_ID,\n userType: 'USER_CAMONAPP',\n });\n }\n }, [props.data]);\n\n function getFilter(str) {\n const filter = { company_type_id: COMPANY_TYPE.COMPANY };\n if (str && str.length >= 3) {\n filter.name = str;\n }\n return filter;\n }\n\n function fetchCompanies(str) {\n if (!str || (str && str.length >= 3)) {\n CompanyService.get(false, 0, 0, getFilter(str)).then((res) =>\n setCompanies(\n res.data.map((x) => ({ label: x.name, value: x.id.toString() }))\n )\n ); \n }\n }\n\n const isUserCompany = (userType) => userType === 'USER_COMPANY';\n\n const getError = (errors) => Object.entries(errors)[0][1];\n\n return (\n \n {({\n handleBlur,\n handleChange,\n handleSubmit,\n errors,\n values,\n }) => (\n
\n {!_.isEqual(errors, {}) && }\n {\n if (USER_TYPES_INTERNAL.includes(e.target.value)) {\n handleChange({\n target: {\n name: 'companyId',\n type: 'number',\n value: COMPANY_CAMONAPP_ID,\n },\n });\n setIsUserInternal(true);\n } else {\n setIsUserInternal(false);\n }\n handleChange(e);\n }}\n onBlur={handleBlur}\n required\n disabled={isUpdate}\n >\n \n \n \n \n \n \n \n \n \n {(!isUserInternal && (isUserCompany(values.userType) || !isUpdate)) && (\n {\n e.target.value = item.value;\n e.target.name = 'companyId'\n handleChange(e)\n }}\n placeholder=\"Company\"\n />\n )}\n \n \n \n \n
\n \n props.setOpen(false)}\n >\n
\n \n )}\n
\n );\n});\n\nUserForm.propTypes = {\n data: PropTypes.shape({\n name: PropTypes.string,\n surname: PropTypes.string,\n email: PropTypes.string,\n userType: PropTypes.shape({ id: PropTypes.number }),\n }),\n};\n\nUserForm.defaultProps = {\n data: {\n name: '',\n surname: '',\n email: '',\n userType: null,\n company: { id: 0 },\n },\n};\n\nexport default UserForm;\n","import React, {memo, useEffect, useContext, useState, useReducer} from 'react'\nimport {\n DataTable,\n DataTableHead,\n DataTableContent,\n DataTableRow,\n DataTableHeadCell,\n DataTableBody,\n DataTableCell\n} from '@rmwc/data-table';\nimport { Button } from '@rmwc/button';\nimport { navigate } from '@reach/router';\nimport { useTranslate } from 'react-polyglot';\n\nimport Icon from '../../components/icon';\nimport UserForm from '../../components/actions/UserForm';\nimport userService from '../../services/User';\nimport CheckPermission from '../../components/checkPermision/checkPermision';\nimport { userGroupsObject } from '../../utils/userGroups';\nimport Notification from '../../components/notification/notification';\nimport { UserContext } from \"../../context/UserContext\";\nimport Search from '../../components/common/search';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport Loading from '../../components/loading';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@material/data-table/dist/mdc.data-table.css';\nimport '@rmwc/data-table/data-table.css';\nimport './user.scss';\n\n\nconst DialogDisableDelete = ({ data: { msg } }) => {\n const t = useTranslate();\n return (\n
\n

{msg}

\n

{t('common.msg.doYouContinue')}

\n
\n )\n };\n\nconst ITEMS_PER_PAGE = 5;\n\nconst Users = memo(function Users({setModal}) {\n const {userData, setUserData} = useContext(UserContext);\n const [users, setUsers] = useState([]);\n const [page, setPage] = useState(1);\n const [response, setResponse] = useState([]);\n const [search, setSearch] = useState('');\n const [{showNotification, propsNotification}, setNotification] = useReducer(\n (prevState, currState) => ({...prevState, ...currState}),\n {showNotification: false, propsNotification: {}});\n const t = useTranslate();\n\n const { showLoading, setShowLoading, overlayStyle } = useContext(ShowLoadingContext)\n\n\n useEffect(() => {\n setShowLoading(true)\n userService.getUsers(true)\n .then(res => {\n setUsers(res.data);\n setResponse(res)\n })\n .finally(res =>setShowLoading(false))\n }, []);\n\n function closeNotification() {\n setNotification({showNotification: false})\n }\n\n async function saveUser(params) {\n try {\n params.user_type = params.userType;\n await userService.addUser(params, 1);\n setNotification({\n showNotification: true,\n propsNotification: {label: 'Success', message: t('pages.account.users.modal.add.msg')}\n })\n getDataPaginated(page);\n\n } catch (error) {\n setNotification({showNotification: true, propsNotification: {label: 'Error', message: error.message}})\n }\n\n\n }\n\n async function updateUser(params) {\n try {\n params.user_type = params.userType;\n await userService.updateUser(params, 1, this.componentData.id);\n setNotification({\n showNotification: true,\n propsNotification: {label: t('common.msg.success'), message: t('pages.account.users.modal.update.msg') }\n })\n getDataPaginated(page);\n\n } catch (error) {\n setNotification({showNotification: true, propsNotification: {label: 'Error', message: error.message}})\n }\n }\n\n async function disableUser() {\n userService.disableUser(this.componentData.userId)\n .then(() => {\n getDataPaginated(page)\n })\n .catch(err => {\n console.log(err)\n });\n }\n\n async function deleteUser() {\n userService.deleteAccount(this.componentData.userId)\n .then(() => {\n getDataPaginated(page)\n })\n .catch(err => {\n console.log(err)\n });\n }\n\n function openAddUser(event) {\n const actionsDialogData = {\n title: t('pages.account.users.modal.add.title'),\n componentData: {},\n component: UserForm,\n componentKey: 99,\n action: saveUser,\n buttonLess: true,\n };\n setModal({openModal: true, propsModal: actionsDialogData})\n }\n\n function editUser(user) {\n const actionsDialogData = {\n title: t('pages.account.users.modal.edit.title'),\n componentData: this,\n component: UserForm,\n componentKey: this.id,\n action: updateUser,\n buttonLess: true,\n };\n setModal({openModal: true, propsModal: actionsDialogData})\n }\n\n function modalDisableUser(userId) {\n const actionsDialogData = {\n title: t('pages.account.users.modal.disable.title'),\n componentData: {userId, msg: t('pages.account.users.modal.disable.msg') },\n component: DialogDisableDelete,\n componentKey: userId,\n action: disableUser,\n };\n setModal({openModal: true, propsModal: actionsDialogData})\n }\n\n function modalDeleteUser(userId) {\n const actionsDialogData = {\n title: t('pages.account.users.modal.delete.title'),\n componentData: {userId, msg: t('pages.account.users.modal.delete.msg') },\n component: DialogDisableDelete,\n componentKey: userId,\n action: deleteUser,\n };\n setModal({openModal: true, propsModal: actionsDialogData})\n }\n\n async function getDataPaginated(pageToGet) {\n return userService.getUsers(\n true,\n pageToGet,\n ITEMS_PER_PAGE,\n { name: search, surname: search, email: search })\n .then(res => {\n setUsers(res.data);\n setResponse(res)\n });\n }\n\n function goToCampaigns(id, username) {\n setUserData({...userData, ...{id, username}});\n navigate(`/user/${id}`);\n }\n\n function getLastPage() {\n if (page <= 1) {\n\n } else {\n setPage(page - 1)\n getDataPaginated(page - 1);\n }\n\n }\n\n function getNextPage() {\n\n if ((response.total / 5) > page) {\n setPage(page + 1)\n getDataPaginated(page + 1);\n }\n\n }\n\n function searchUsers(value) {\n setSearch(value);\n userService.getUsers(true, 1, ITEMS_PER_PAGE, { name: value, surname: value, email: value })\n .then(res => {\n setUsers(res.data);\n setResponse(res)\n })\n }\n\n return (\n\n <>\n {showLoading ?\n \n :\n
\n
\n \n }\n groups={[userGroupsObject.CamonappAdminUsers]}\n />\n
\n \n \n \n \n {t('common.labels.nameSurname')}\n \n {t('common.labels.email')}\n \n {t('common.labels.type')}\n {t('common.labels.status')}\n {t('common.labels.actions')}\n \n \n \n {users.length > 0 && users.map((user, i) => {\n return (\n \n {`${user.name === null ? \"-\" : user.name + \" \" + user.surname}`} \n {user.email}\n {user.userType.name}\n {user.active ? t('common.labels.active') : t('common.labels.inactive')}\n \n }\n groups={[userGroupsObject.CamonappAdminUsers]}\n />\n {\n goToCampaigns(user.id, user.email)\n }}/>\n {user.active && (\n modalDisableUser(user.id)}/>}\n groups={[userGroupsObject.CamonappAdminUsers]}\n />)}\n {user.active && (\n modalDeleteUser(user.id)}/>}\n groups={[userGroupsObject.CamonappAdminUsers]}\n />)}\n \n \n )\n })\n }\n \n \n \n
\n
\n {page > 1 && (\n \n {t('pages.account.pagination.prev')}\n \n )}\n
\n {response.total / ITEMS_PER_PAGE > page && (\n
\n \n {t('pages.account.pagination.next')}\n \n
\n )}\n
\n {showNotification && }\n
\n }\n \n \n )\n})\n\nUsers.propTypes = {}\n\nexport default Users\n","import React, { memo, useEffect, useState, useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DataTable,\n DataTableHead,\n DataTableContent,\n DataTableRow,\n DataTableHeadCell,\n DataTableBody,\n DataTableCell,\n} from '@rmwc/data-table';\nimport { Button } from '@rmwc/button';\nimport { Icon as IconM } from '@rmwc/icon';\nimport { useTranslate } from 'react-polyglot';\nimport Icon from '../../components/icon';\nimport CompanyForm from '../../components/actions/CompanyForm';\nimport Confirm from '../../components/actions/Confirm';\nimport Notification from '../../components/notification/notification';\nimport Search from '../../components/common/search';\nimport CompanyService from '../../services/Companies';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@material/data-table/dist/mdc.data-table.css';\nimport '@rmwc/data-table/data-table.css';\n\nfunction getMark(value) {\n if (value) {\n return ;\n } else {\n return ;\n }\n}\n\nconst ITEMS_PER_PAGE = 5;\n\nconst Educational = memo(function Educational({ setModal }) {\n const [educationals, setEducationals] = useState([]);\n const [page, setPage] = useState(1);\n const [response, setResponse] = useState([]);\n const [search, setSearch] = useState('');\n const [\n { showNotification, propsNotification },\n setNotification,\n ] = useReducer((prevState, currState) => ({ ...prevState, ...currState }), {\n showNotification: false,\n propsNotification: {},\n });\n const t = useTranslate();\n\n useEffect(() => {\n CompanyService.get(true, 1, 5, { company_type_id: 3 }).then((res) => {\n setEducationals(res.data);\n setResponse(res);\n });\n }, []);\n\n async function saveEducational(params) {\n try {\n await CompanyService.addCompany(params);\n getDataPaginated(page);\n setNotification({\n showNotification: true,\n propsNotification: {label: t('common.msg.success'), message: t('pages.account.addMsg')}\n })\n } catch (error) {\n console.log(error);\n }\n }\n async function updateEducational(params) {\n try {\n await CompanyService.updateCompany(params, this.componentData.id);\n getDataPaginated(page);\n } catch (error) {}\n }\n async function deleteEducational(params) {\n try {\n await CompanyService.deleteCompany(this.componentData.companyId);\n getDataPaginated(page);\n } catch (error) {\n setNotification({\n showNotification: true,\n propsNotification: { label: 'Error', message: error.message },\n });\n }\n }\n function openAddEducational(event) {\n const actionsDialogData = {\n title: t('pages.account.educational.modal.add.title'),\n componentData: { companyType: { id: '3' } },\n component: CompanyForm,\n componentKey: '99',\n action: saveEducational,\n buttonLess: true\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n function openEditEducational() {\n const actionsDialogData = {\n title: t('pages.account.educational.modal.edit.title'),\n componentData: this,\n component: CompanyForm,\n componentKey: this.id,\n action: updateEducational,\n buttonLess: true\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n function confirmDelete() {\n const actionsDialogData = {\n title: t('pages.account.educational.modal.delete.title'),\n componentData: {\n msg: t('pages.account.educational.modal.delete.msg'),\n companyId: this.id,\n },\n component: Confirm,\n componentKey: this.id,\n action: deleteEducational,\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n async function getDataPaginated(pageToGet) {\n return CompanyService.get(true, pageToGet, 5, { company_type_id: 3, name: search }).then(\n (res) => {\n setEducationals(res.data);\n setResponse(res);\n }\n );\n }\n function getLastPage() {\n if (page <= 1) {\n } else {\n setPage(page - 1);\n getDataPaginated(page - 1);\n }\n }\n function getNextPage() {\n if (response.total / 5 > page) {\n setPage(page + 1);\n getDataPaginated(page + 1);\n }\n }\n function closeNotification() {\n setNotification({ showNotification: false });\n }\n function searchEducational(value) {\n setSearch(value);\n CompanyService.get(true, 1, ITEMS_PER_PAGE, { company_type_id: 3, name: value })\n .then(res => { setEducationals(res.data); setResponse(res) })\n }\n return (\n
\n
\n \n \n
\n \n \n \n \n {t('pages.account.educational.headTable.name')}\n {t('pages.account.educational.headTable.type')}\n {t('pages.account.educational.headTable.canPublish')}\n {t('pages.account.educational.headTable.reports')}\n {t('pages.account.educational.headTable.actions')}\n \n \n \n {educationals.length > 0 &&\n educationals.map((educational, i) => {\n return (\n \n \n {educational.name}\n \n \n {educational.companyType.name}\n \n \n {getMark(educational.canPublish)}\n \n\n \n {getMark(educational.canSeeReports)}\n \n \n \n \n \n \n );\n })}\n \n \n \n
\n
\n {page > 1 && (\n \n {t('pages.account.pagination.prev')}\n \n )}\n
\n {response.total / ITEMS_PER_PAGE > page && (\n
\n \n {t('pages.account.pagination.next')}\n \n
\n )}\n
\n {showNotification && (\n \n )}\n
\n );\n});\n\nEducational.propTypes = {\n setModal: PropTypes.func.isRequired,\n};\n\nexport default Educational;\n","\nimport request from '../utils/request';\nimport ExperienceService from './Experience';\nimport UserService from './User';\n\nclass PublicationService {\n\n\n static async list(paginated = false, page = 1, perPage = 15, paramsQuery) {\n try {\n\n const publications = await ExperienceService.getPendingForApproval({ ...paramsQuery, page, perPage });\n const users = {};\n publications.data = await Promise.all(\n publications.data.map(async p => {\n p.user = users[p.user_id] ?? await UserService.getUser(p.user_id);\n return p;\n })\n )\n return publications;\n } catch (error) {\n console.log(error);\n\n }\n }\n\n static getPaginatedPublications(publications, page, perPage) {\n const chunked = publications.reduce((resultArray, item, index) => {\n const chunkIndex = Math.floor(index / perPage)\n\n if (!resultArray[chunkIndex]) {\n resultArray[chunkIndex] = [] // start a new chunk\n }\n\n resultArray[chunkIndex].push(item)\n\n return resultArray\n }, []);\n return {\n data: chunked[page - 1],\n total: publications.length\n };\n }\n\n static async approve(experience) {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${experience.id}/approve`);\n }\n static async reject(experience) {\n return request.get(`${process.env.REACT_APP_MOES_ENDPOINT}/experiences/${experience.id}/reject`);\n\n }\n}\nexport default PublicationService;\n","import React, { memo, useEffect, useState, useReducer, useContext } from 'react'\nimport { DataTable, DataTableHead, DataTableContent, DataTableRow, DataTableHeadCell, DataTableBody, DataTableCell } from '@rmwc/data-table';\nimport { Tooltip } from '@rmwc/tooltip';\nimport { Link } from \"@reach/router\";\nimport moment from 'moment';\nimport { useTranslate } from 'react-polyglot';\nimport Icon from '../../components/icon';\nimport Notification from '../../components/notification/notification';\nimport publicationsService from '../../services/Publications';\nimport Search from '../../components/common/search';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport Loading from '../../components/loading';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@material/data-table/dist/mdc.data-table.css';\nimport '@rmwc/data-table/data-table.css';\nimport '@rmwc/tooltip/tooltip.css'\nimport '@material/icon-button/dist/mdc.icon-button.css';\nimport '@rmwc/icon/icon.css';\nimport './user.scss';\n\nconst DialogConfirm = ({ data: { msg } }) => {\n const t = useTranslate();\n return (\n
\n

{msg}

\n

{t('common.msg.doYouContinue')}

\n
\n )\n};\n\nconst ITEMS_PER_PAGE = 5;\n\nconst Publications = memo(function Publications({ setModal }) {\n const [publications, setPublications] = useState([]);\n const [page, setPage] = useState(1);\n const [response, setResponse] = useState([]);\n const [search, setSearch] = useState('');\n const [{ showNotification, propsNotification }, setNotification] = useReducer(\n (prevState, currState) => ({ ...prevState, ...currState }),\n { showNotification: false, propsNotification: {} });\n const t = useTranslate();\n\n const { showLoading, setShowLoading } = useContext(ShowLoadingContext)\n\n\n useEffect(() => {\n setShowLoading(true)\n publicationsService.list()\n .then((res) => {\n setPublications(res.data);\n setResponse(res)\n\n })\n .finally(res =>setShowLoading(false))\n }, [])\n function goToExp() {\n window.open(`${process.env.REACT_APP_EDITOR_DOMAIN}?id=${this}`, \"_blank\")\n }\n function parseDate(date) {\n return new moment(date).format('YYYY-MM-DD');\n }\n function getTarget(campaign) {\n return (\n {campaign.name}\n )\n }\n async function rejectExp() {\n await publicationsService.reject(this);\n getDataPaginated(page)\n setNotification({\n showNotification: true,\n propsNotification: {\n label: t('pages.account.publishes.notification.rejected'),\n message: 'Se rechazado correctamente'\n }\n });\n }\n async function approve() {\n await publicationsService.approve(this)\n getDataPaginated(page)\n setNotification({\n showNotification: true,\n propsNotification: {\n label: t('pages.account.publishes.notification.approved'),\n message: t('pages.account.publishes.notification.msgApproved')\n }\n });\n }\n async function getDataPaginated(pageToGet) {\n return publicationsService.list(true, pageToGet, ITEMS_PER_PAGE, { name: search, 'campaign.name': search })\n .then(res => { setPublications(res.data); setResponse(res) });\n }\n function getLastPage() {\n if (page <= 1) {\n\n } else {\n setPage(page - 1)\n getDataPaginated(page - 1);\n }\n\n }\n function getNextPage() {\n\n if ((response.total / 5) > page) {\n setPage(page + 1)\n getDataPaginated(page + 1);\n }\n\n }\n function modalConfirmApprove() {\n const actionsDialogData = {\n title: t('pages.account.publishes.modal.approve.title'),\n componentData: { msg: t('pages.account.publishes.modal.approve.msg') },\n component: DialogConfirm,\n componentKey: 99,\n action: approve.bind(this),\n };\n setModal({ openModal: true, propsModal: actionsDialogData })\n }\n function modalConfirmDisapprove(userId) {\n const actionsDialogData = {\n title: t('pages.account.publishes.modal.rejected.title'),\n componentData: { userId, msg: t('pages.account.publishes.modal.rejected.msg') },\n component: DialogConfirm,\n componentKey: 99,\n action: rejectExp.bind(this),\n };\n setModal({ openModal: true, propsModal: actionsDialogData })\n }\n function closeNotification() {\n setNotification({ showNotification: false })\n }\n function searchPublications(value) {\n setSearch(value);\n publicationsService.list(true, 1, ITEMS_PER_PAGE, { name: value, 'campaign.name': value })\n .then(res => { setPublications(res.data); setResponse(res) });\n }\n\n return (\n\n <>\n {showLoading ?\n \n :\n
\n
\n \n
\n \n \n \n \n {t('common.labels.name')}\n {t('common.labels.email')}\n {t('pages.account.publishes.headTable.campaign')}\n \n {t('common.labels.experience')}\n \n {t('pages.account.publishes.headTable.date')}\n {t('common.labels.actions')}\n\n \n \n \n {publications.map((publication, i) => {\n return (\n \n \n {publication.user.name ? `${publication.user.name} ${publication.user.surname}` : ''}\n \n {publication.user.email}\n {getTarget(publication.campaign)}\n {publication.name}\n\n\n {parseDate(publication.request_publish_at)}\n \n \n \n \n \n \n \n \n \n \n \n \n )\n })}\n \n \n \n
\n
\n {page > 1 && (\n \n {t('pages.account.pagination.prev')}\n \n )}\n
\n {response.total / ITEMS_PER_PAGE > page && (\n
\n \n {t('pages.account.pagination.next')}\n \n
\n )}\n
\n {showNotification && }\n
\n }\n \n \n )\n})\n\nPublications.propTypes = {\n\n}\n\nexport default Publications\n","import React, { memo, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@rmwc/textfield';\nimport { Button } from '@rmwc/button';\nimport { useTranslate } from 'react-polyglot';\n\nimport SelectControl from '../common/select';\nimport CheckPermission from '../checkPermision/checkPermision';\nimport UserService from '../../services/User';\nimport { userGroupsObject } from '../../utils/userGroups';\nimport CommonForm from './CommonForm';\nimport { emailValidation } from '../../utils/formValidations';\nimport ErrorMessage from '../ErrorMessage/ErrorMessage';\n\nimport '@material/button/dist/mdc.button.css';\nimport './userForm.scss';\n\nlet isUpdate = false;\nconst validate = {\n email: emailValidation,\n};\n\nconst StudentForm = memo(function UserForm(props) {\n const [professors, setProfessors] = useState([]);\n const [initialValues, setInitialValues] = useState({ user_type: 'STUDENT' });\n const t = useTranslate();\n\n useEffect(() => {\n const fetchProfessors = () =>\n UserService.getUsers(false, 0, 0, { user_type_id: 3 }).then((res) => {\n const profs = res.data.map((x) => ({\n label: `${x.name} ${x.surname}`,\n value: x.professor.id.toString(),\n companyid: x.company.id,\n }));\n setProfessors(profs);\n if (!isUpdate) {\n setInitialValues({\n ...initialValues,\n classroomId: profs[0]?.value,\n companyId: res.data[0]?.company.id,\n }); \n }\n });\n\n fetchProfessors();\n\n if (props.data.email) {\n isUpdate = true;\n const user = props.data;\n setInitialValues({\n ...initialValues,\n ...user,\n classroomId: user.classroom.id.toString(),\n });\n } else {\n isUpdate = false;\n setInitialValues({\n ...initialValues,\n classroomId: props.data.me.professor?.id?.toString(),\n companyId: props.data.me.company.id,\n });\n }\n }, []);\n\n return (\n \n {({ handleBlur, handleChange, handleSubmit, errors, values }) => (\n
\n {\n handleChange(e);\n handleChange({\n target: {\n name: 'companyId',\n type: 'number',\n value: professors.find((p) => p.value === e.target.value)\n .companyid,\n },\n });\n }}\n onBlur={handleBlur}\n value={values.classroomId}\n />\n }\n groups={[\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.EducationalUsers,\n ]}\n />\n \n \n \n \n
\n \n props.setOpen(false)}\n >\n
\n \n )}\n \n );\n});\n\nStudentForm.propTypes = {};\n\nexport default StudentForm;\n","import request from '../utils/request';\nimport { parseParams } from '../utils/url';\n\nclass StudentService {\n static async get(paginate = false, page = 1, perPage = 5, paramsQuery) {\n return request.get(\n `${process.env.REACT_APP_KWM_ENDPOINT}/students?page=${page}&per_page=${perPage}&${parseParams(paramsQuery)}`\n );\n }\n\n static async add(params) {\n return request.postJson(`${process.env.REACT_APP_KWM_ENDPOINT}/students`,\n {\n body: params\n }\n );\n }\n static async update(params, student) {\n return request.put(`${process.env.REACT_APP_KWM_ENDPOINT}/students/${student}`,\n {\n body: params\n });\n }\n static async delete(params, student) {\n return request.delete(`${process.env.REACT_APP_KWM_ENDPOINT}/students/${student}`);\n }\n\n\n}\nexport default StudentService;\n","import React, { memo, useEffect, useState, useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DataTable,\n DataTableHead,\n DataTableContent,\n DataTableRow,\n DataTableHeadCell,\n DataTableBody,\n DataTableCell,\n} from '@rmwc/data-table';\nimport { Button } from '@rmwc/button';\nimport { useTranslate } from 'react-polyglot';\nimport Icon from '../../components/icon';\nimport StudentForm from '../../components/actions/StudentForm';\nimport UserService from '../../services/User';\nimport StudentService from '../../services/Student';\nimport Notification from '../../components/notification/notification';\nimport Search from '../../components/common/search';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@material/data-table/dist/mdc.data-table.css';\nimport '@rmwc/data-table/data-table.css';\nimport './user.scss';\n\nconst DialogDisableDelete = ({ data: { msg } }) => {\n const t = useTranslate();\n return (\n
\n

{msg}

\n

{t('common.msg.doYouContinue')}

\n
\n )\n};\n\nconst ITEMS_PER_PAGE = 5;\n\nconst Student = memo(function Educational({ setModal, user }) {\n const [users, setUsers] = useState([]);\n const [page, setPage] = useState(1);\n const [response, setResponse] = useState([]);\n const [search, setSearch] = useState('');\n const [{ showNotification, propsNotification }, setNotification] = useReducer(\n (prevState, currState) => ({ ...prevState, ...currState }),\n {\n showNotification: false,\n propsNotification: {},\n }\n );\n const t = useTranslate();\n\n useEffect(() => {\n StudentService.get(true).then((res) => {\n setUsers(res.data);\n setResponse(res);\n });\n }, []);\n\n async function saveUser(params) {\n try {\n await UserService.addUser(params, 1);\n getDataPaginated(page);\n setNotification({\n showNotification: true,\n propsNotification: {label: t('common.msg.success'), message: t('pages.account.addMsg')}\n })\n } catch (error) {\n setNotification({\n showNotification: true,\n propsNotification: { label: 'Error', message: error.message },\n });\n }\n }\n async function updateUser(params) {\n try {\n params.user_type = params.userType;\n await UserService.updateUser(params, 1, this.componentData.id);\n getDataPaginated(page);\n } catch (error) {\n setNotification({\n showNotification: true,\n propsNotification: { label: 'Error', message: error.message },\n });\n }\n }\n async function deleteUser() {\n UserService.deleteAccount(this.componentData.userId)\n .then(() => {\n getDataPaginated(page);\n })\n .catch((err) => {\n console.log(err);\n });\n }\n function openAddUser() {\n const actionsDialogData = {\n title: t('pages.account.student.modal.add.title'),\n componentData: { user_type_id: 3, me: user },\n component: StudentForm,\n componentKey: 99,\n action: saveUser,\n buttonLess: true\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n function editUser() {\n const actionsDialogData = {\n title: t('pages.account.student.modal.edit.title'),\n componentData: this,\n component: StudentForm,\n componentKey: this.id,\n action: updateUser,\n buttonLess: true\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n function openDeleteUser(userId) {\n const actionsDialogData = {\n title: t('pages.account.student.modal.delete.title'),\n componentData: {\n userId,\n msg: t('pages.account.student.modal.delete.msg'),\n },\n component: DialogDisableDelete,\n componentKey: userId,\n action: deleteUser,\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n async function getDataPaginated(pageToGet) {\n return StudentService.get(true, pageToGet, ITEMS_PER_PAGE,\n { name: search, surname: search, email: search }).then((res) => {\n setUsers(res.data);\n setResponse(res);\n });\n }\n function goToCampaigns(id) {}\n function getLastPage() {\n if (page <= 1) {\n } else {\n setPage(page - 1);\n getDataPaginated(page - 1);\n }\n }\n function getNextPage() {\n if (response.total / 5 > page) {\n setPage(page + 1);\n getDataPaginated(page + 1);\n }\n }\n function closeNotification() {\n setNotification({ showNotification: false });\n }\n function searchStudent(value) {\n setSearch(value);\n StudentService.get(true, 1, ITEMS_PER_PAGE, { name: value, surname: value, email: value })\n .then(res => {\n setUsers(res.data);\n setResponse(res)\n })\n }\n return (\n
\n
\n \n \n
\n \n \n \n \n \n {t('common.labels.nameSurname')}\n \n {t('common.labels.email')}\n\n {t('pages.account.student.headTable.classroom')}\n {t('common.labels.actions')}\n \n \n \n {users.length > 0 &&\n users.map((user, i) => {\n return (\n \n \n {`${\n user.name === null\n ? '-'\n : user.name + ' ' + user.surname\n }`}{' '}\n \n {user.email}\n \n {user.classroom.name}\n \n\n \n {' '}\n \n openDeleteUser(user.id)}\n />\n \n \n );\n })}\n \n \n \n
\n \n
\n {page > 1 && (\n \n {t('pages.account.pagination.prev')}\n \n )}\n
\n {response.total / ITEMS_PER_PAGE > page && (\n
\n \n {t('pages.account.pagination.next')}\n \n
\n )}\n
\n {showNotification && (\n \n )}\n
\n );\n});\n\nStudent.propTypes = {};\n\nexport default Student;\n","import React, { memo, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { TextField } from '@rmwc/textfield';\nimport { Button } from '@rmwc/button';\nimport _ from 'lodash';\nimport { useTranslate } from 'react-polyglot';\n\nimport SelectControl from '../common/select';\nimport CompanyService from '../../services/Companies';\nimport CheckPermission from '../checkPermision/checkPermision';\nimport { userGroupsObject } from '../../utils/userGroups';\nimport CommonForm from './CommonForm';\nimport { emailValidation } from '../../utils/formValidations';\nimport ErrorMessage from '../ErrorMessage/ErrorMessage'\n\nimport '@material/button/dist/mdc.button.css';\nimport './userForm.scss';\n\nlet isUpdate = false;\n\nconst validate = {\n email: emailValidation,\n};\n\nconst ProfesorForm = memo(function ProfesorForm(props) {\n const [companies, setCompanies] = useState([]);\n const [initialValues, setInitialValues] = useState({ user_type: 'PROFESSOR' });\n const t = useTranslate();\n\n const COMPANY_TYPE = {\n EDUCATIONAL_ENTITY: 3,\n };\n\n useEffect(() => {\n const fetchCompanies = () =>\n CompanyService.get(false, 0, 0, {\n company_type_id: COMPANY_TYPE.EDUCATIONAL_ENTITY,\n }).then((res) =>\n setCompanies(\n res.data.map((x) => ({ label: x.name, value: x.id.toString() }))\n )\n );\n\n fetchCompanies();\n\n if (props.data.email) {\n isUpdate = true;\n const professor = props.data;\n\n setInitialValues({\n ...professor,\n user_type: professor.userType.name,\n companyId: professor.company.id.toString(),\n });\n } else {\n isUpdate = false;\n }\n }, [props.data]);\n\n\n const SelectEntity = (props) => (\n \n );\n\n const getError = (errors) => Object.entries(errors)[0][1];\n\n return (\n \n {({ handleBlur, handleChange, handleSubmit, errors, values }) => (\n
\n {!_.isEqual(errors, {}) && }\n }\n groups={[userGroupsObject.CamonappAdminUsers]}\n />\n \n \n \n \n
\n \n props.setOpen(false)}\n >\n
\n \n )}\n \n );\n});\n\nProfesorForm.propTypes = {\n data: PropTypes.shape({\n name: PropTypes.string,\n surname: PropTypes.string,\n email: PropTypes.string,\n userType: PropTypes.shape({ id: PropTypes.number }),\n }),\n me: PropTypes.shape(),\n onChange: PropTypes.func.isRequired,\n};\n\nProfesorForm.defaultProps = {\n data: {\n name: '',\n surname: '',\n email: '',\n userType: null,\n company: { id: 0 },\n },\n};\n\nexport default ProfesorForm;\n","import React, { memo, useEffect, useState, useReducer } from 'react';\n\nimport {\n DataTable,\n DataTableHead,\n DataTableContent,\n DataTableRow,\n DataTableHeadCell,\n DataTableBody,\n DataTableCell,\n} from '@rmwc/data-table';\nimport { Button } from '@rmwc/button';\nimport { useTranslate } from 'react-polyglot';\nimport Icon from '../../components/icon';\nimport userService from '../../services/User';\nimport Notification from '../../components/notification/notification';\nimport Search from '../../components/common/search';\nimport ProfesorForm from '../../components/actions/ProfesorForm';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@material/data-table/dist/mdc.data-table.css';\nimport '@rmwc/data-table/data-table.css';\nimport './user.scss';\n\nconst ITEMS_PER_PAGE = 5;\n\nconst Profesor = memo(function Educational({ setModal, user }) {\n const [users, setUsers] = useState([]);\n const [page, setPage] = useState(1);\n const [response, setResponse] = useState([]);\n const [search, setSearch] = useState('');\n const [{ showNotification, propsNotification }, setNotification] = useReducer(\n (prevState, currState) => ({ ...prevState, ...currState }),\n {\n showNotification: false,\n propsNotification: {},\n }\n );\n const t = useTranslate();\n\n useEffect(() => {\n userService.getUsers(true, 1, 5, { user_type_id: 3 }).then((res) => {\n setUsers(res.data);\n setResponse(res);\n });\n }, []);\n\n const DialogDisableDelete = ({ data: { msg } }) => (\n
\n

{msg}

\n

{t('pages.account.professor.modal.delete.continue')}

\n
\n );\n\n async function saveProfesor(params) {\n try {\n await userService.addUser(params, 1);\n getDataPaginated(page);\n setNotification({\n showNotification: true,\n propsNotification: {label: t('common.msg.success'), message: t('pages.account.addMsg')}\n })\n } catch (error) {\n setNotification({\n showNotification: true,\n propsNotification: { label: 'Error', message: error.message },\n });\n }\n }\n async function updateUser(params) {\n try {\n await userService.updateUser(params, 1, this.componentData.id);\n getDataPaginated(page);\n } catch (error) {\n setNotification({\n showNotification: true,\n propsNotification: { label: 'Error', message: error.message },\n });\n }\n }\n async function deleteUser() {\n userService\n .deleteAccount(this.componentData.userId)\n .then(() => {\n getDataPaginated(page);\n })\n .catch((err) => {\n console.log(err);\n });\n }\n function openAddUser() {\n const actionsDialogData = {\n title: t('pages.account.professor.modal.add.title'),\n componentData: { user_type_id: 3, me: user },\n component: ProfesorForm,\n componentKey: 99,\n action: saveProfesor,\n buttonLess: true\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n function editUser() {\n const actionsDialogData = {\n title: t('pages.account.professor.modal.edit.title'),\n componentData: this,\n component: ProfesorForm,\n componentKey: this.id,\n action: updateUser,\n buttonLess: true\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n function modalDeleteUser(userId) {\n const actionsDialogData = {\n title: t('pages.account.professor.modal.delete.title'),\n componentData: {\n userId,\n msg: t('pages.account.professor.modal.delete.msg'),\n },\n component: DialogDisableDelete,\n componentKey: userId,\n action: deleteUser,\n };\n setModal({ openModal: true, propsModal: actionsDialogData });\n }\n async function getDataPaginated(pageToGet) {\n return userService\n .getUsers(true, pageToGet, 5, { user_type_id: 3, name: search, surname: search, email: search })\n .then((res) => {\n setUsers(res.data);\n setResponse(res);\n });\n }\n function goToCampaigns(id) {}\n function getLastPage() {\n if (page <= 1) {\n } else {\n setPage(page - 1);\n getDataPaginated(page - 1);\n }\n }\n function getNextPage() {\n if (response.total / 5 > page) {\n setPage(page + 1);\n getDataPaginated(page + 1);\n }\n }\n function closeNotification() {\n setNotification({ showNotification: false });\n }\n function searchProfessors(value) {\n setSearch(value);\n userService.getUsers(true, 1, ITEMS_PER_PAGE, { user_type_id: 3, name: value, surname: value, email: value })\n .then(res => {\n setUsers(res.data);\n setResponse(res)\n })\n }\n return (\n
\n
\n \n \n
\n \n \n \n \n \n {t('common.labels.nameSurname')}\n \n {t('common.labels.email')}\n\n {t('common.labels.status')}\n {t('common.labels.actions')}\n \n \n \n {users.length > 0 &&\n users.map((user, i) => {\n return (\n \n \n {`${\n user.name === null\n ? '-'\n : user.name + ' ' + user.surname\n }`}{' '}\n \n {user.email}\n\n {user.active? t('common.labels.active') : t('common.labels.inactive')}\n \n {' '}\n goToCampaigns(user.id)}\n />\n modalDeleteUser(user.id)}\n />\n \n \n );\n })}\n \n \n \n
\n
\n {page > 1 && (\n \n {t('pages.account.pagination.prev')}\n \n )}\n
\n {response.total / ITEMS_PER_PAGE > page && (\n
\n \n {t('pages.account.pagination.next')}\n \n
\n )}\n
\n {showNotification && (\n \n )}\n
\n );\n});\n\nProfesor.propTypes = {};\n\nexport default Profesor;\n","import styled from 'styled-components'\nimport {SimpleMenu, MenuItem} from '@rmwc/menu';\nimport {TextField} from '@rmwc/textfield';\n\nexport const HeaderWrapper = styled.div`\n background: #F6F6F6;\n box-shadow: inset 0px -1px 0px rgba(41, 41, 41, 0.04);\n box-sizing: border-box;\n min-height: 4rem;\n position: ${props => props.inherited ? 'inherit' : 'fixed'};\n width: 100%;\n z-index:20;\n display: grid;\n grid-template-columns: 1fr 6fr 2fr;\n border-bottom: solid 1px lightgrey;\n height: 72px;\n`\n\nexport const ImgContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`\nexport const Logo = styled.img`\n height: 46px;\n position: absolute;\n left: 5px;\n top: 5px;\n`\n\nexport const SearchContainer = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: center;\n margin-left:10%;\n margin-top:16px;\n margin-bottom:16px;\n`\n\nexport const MenuContainer = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center; \n margin-right: 16px;\n margin-top:16px;\n margin-bottom: 16px;\n`\nexport const TextFieldWithStyles = styled(TextField)`\n width: 550px;\n background-color: #fff !important;\n height: 35px;\n margin-top: 10px;\n margin-bottom: 10px;\n &.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__icon{\n top: 1px;\n }\n &.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-text-field__input{\n padding-bottom: 11px;\n padding-left: 50px;\n }\n`;\n\nexport const SimpleMenuWithStyles = styled(SimpleMenu)`\n width: 12rem;\n background: #292929;\n color: #fff;\n & .mdc-list{\n width: 100%; \n }\n \n`\n\nexport const TextLabelMembership = styled.p`\n/* 27 días */\nheight: 12px;\n\nfont-family: Public Sans;\nfont-style: normal;\nfont-weight: 600;\nfont-size: 10px;\nline-height: 12px;\n/* identical to box height, or 120% */\n\ndisplay: flex;\nalign-items: center;\ntext-transform: uppercase;\n\n/* Neutrals / White */\n\ncolor: #FFFFFF;\n\n/* Inside Auto Layout */\n\nflex: none;\norder: 0;\nflex-grow: 0;\nmargin: 0px 0px;\n`;\n\nconst colorType = {\n NORMAL_USER: '#0DD391',\n ADMIN: '#3487F0',\n PRO: '#ff4672'\n};\n\nexport const ButtonMembership = styled.div`;\n/* Small */\n/* Auto Layout */\njustify-content:center;\ndisplay: flex;\nflex-direction: row;\nalign-items: center;\npadding: 4px 8px;\n\nposition: absolute;\nwidth: 55px;\nheight: 20px;\nright: 8px;\ntop: calc(50% - 20px/2);\n\n/* Messages / Success */\nbackground ${props => colorType[props.colorType]};\n/* Elevation / (Mid) Shape */\n\nbox-shadow: 0px 4px 48px rgba(41, 41, 41, 0.04), 0px 12px 24px rgba(41, 41, 41, 0.06);\nborder-radius: 4px;\n`;\n\nexport const SimpleMenuItem = styled(MenuItem)`\n :hover{\n background-color: var(--primary-color);\n };\n display: flex;\n background-color: ${props => props.backgroundPro ? '#ff4672' : ''};\n border-bottom: ${props => props.hasBottomBorder ? 'solid 1px #888787' : ''};\n flex-direction: row;\n font-family: Public Sans;\n font-style: normal;\n font-weight: normal;\n font-size: 12px;\n line-height: 20px;\n align-items: center;\n padding: 16px;\n color: white;\n height: 32px;\n`;\nexport const UserBoxWrapper = styled.div`\n display: flex;\n flex-direction: row;\n cursor: pointer;\n text-overflow: ellipsis; \n`\n\nexport const SearchContainerBox = styled.div`\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: flex-start;\n width: 100vw;\n top:70px;\n height: 100vh;\n background: #fff;\n z-index: 18;\n`\nexport const SearchLabel = styled.h2`\n padding-top: 10rem;\n color: rgba(41, 41, 41, 0.72);\n`","import React, {useEffect} from 'react';\nimport {useTranslate} from 'react-polyglot';\n\nimport {TextFieldWithStyles} from '../layout/HeaderStyles';\nimport Icon from '../icon';\nimport {Input, InputGroup} from \"rsuite\";\nimport {Icon as IconR} from 'rsuite';\n\nconst Searchbar = ({\n location,\n setActiveSearch,\n searchValue,\n setSearchValue,\n keydown\n }) => {\n const t = useTranslate();\n\n useEffect(() => {\n if (window.location.pathname.split('/').includes(\"search\")) {\n setSearchValue('');\n }\n }, [location.pathname, setSearchValue]);\n return (\n /*}\n placeholder={t('header.placeholder')}\n onFocus={(e) => {\n if (window.location.pathname !== '/search') {\n setActiveSearch(true);\n }\n }}\n onBlur={() => {\n setActiveSearch(false);\n }}\n onKeyDown={keydown}\n value={searchValue}\n onChange={(e) => {\n setSearchValue(e.target.value);\n }}\n />*/\n \n \n \n \n {\n setSearchValue(e);\n }}\n onKeyDown={keydown}\n value={searchValue}\n placeholder={t('header.placeholder')}\n onFocus={(e) => {\n if (window.location.pathname.split('/').includes(\"search\")) {\n setActiveSearch(true);\n }\n }}\n onBlur={() => {\n setActiveSearch(false);\n }}\n className={'placeHolderSearch'}\n style={{\n height: '40px',\n width: '65%',\n borderTop: '1px solid rgba(41, 41, 41, 0.12)',\n borderBottom: '1px solid rgba(41, 41, 41, 0.12)',\n borderLeft: 'transparent',\n borderRight: '1px solid rgba(41, 41, 41, 0.12)'\n }}/>\n \n );\n};\n\nexport default Searchbar;\n","import React, {useState, useEffect, useContext} from 'react';\nimport {useTranslate} from 'react-polyglot';\nimport {Auth} from 'aws-amplify';\nimport {navigate, Location} from '@reach/router';\n\nimport Icon from '../icon';\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\nimport {deleteCookie} from '../../utils/cookie';\nimport user, {getExpirationDays} from '../../utils/user';\nimport Searchbar from '../Searchbar/Searchbar';\nimport {Avatar} from 'rsuite'\n\nimport {\n HeaderWrapper,\n ImgContainer,\n SearchContainer,\n MenuContainer,\n SimpleMenuWithStyles,\n SimpleMenuItem,\n UserBoxWrapper,\n Logo,\n SearchContainerBox,\n SearchLabel,\n ButtonMembership,\n TextLabelMembership\n} from './HeaderStyles';\n\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport AppContext from \"../app/AppContext\";\n\nfunction Header(props) {\n const context = useContext(AppContext);\n const t = useTranslate();\n const [userData, setUserData] = useState(null);\n const [searchhValue, setSearchhValue] = useState('');\n\n const [open, setOpen] = useState(false);\n const [activeSearch, setActiveSearch] = useState(false);\n useEffect(() => {\n user().then((us) => {\n setUserData(us.attributes);\n })\n }, []);\n\n async function logout() {\n await Auth.signOut();\n deleteCookie();\n localStorage.removeItem('lang');\n window.location.href = '/';\n }\n\n const getUserIdFromUrl = () => {\n let paths = window.location.pathname.split('/');\n let userId = paths.length > 1 ? paths[2] : '';\n let hasUser = paths.length > 1 && paths[1] === 'user';\n if (hasUser) {\n return userId\n }\n return ''\n };\n\n function keydown(event) {\n if (event.key === 'Enter') {\n if (searchhValue !== '') {\n setActiveSearch(false);\n\n if (getUserIdFromUrl().length == 0){\n navigate('/search', {\n state: {text: searchhValue}\n });\n }else{\n navigate('/user/'+getUserIdFromUrl()+'/search', {\n state: {text: searchhValue}\n });\n }\n }\n }\n }\n\n const getUserTypeColor = () => {\n if (context.userGroups.find(e => e === 'CamonappUsers' || e === 'FreelanceUsers') !== undefined) {\n return 'NORMAL_USER'\n }\n if (context.userGroups.find(e => e === 'FreelancePaidUsers') !== undefined) {\n return 'PRO'\n }\n if (context.userGroups.find(e => e === 'CamonappAdminUsers') !== undefined) {\n return 'ADMIN'\n }\n };\n\n const getTextType = () => {\n if (context.userGroups.find(e => e === 'CamonappUsers' || e === 'FreelanceUsers') !== undefined) {\n return `${getExpirationDays(context.userData.created_at)} ${t('sidebar.footer.time')}`;\n }\n if (context.userGroups.find(e => e === 'FreelancePaidUsers') !== undefined) {\n return 'PRO'\n }\n if (context.userGroups.find(e => e === 'CamonappAdminUsers') !== undefined) {\n return 'ADMIN'\n }\n };\n\n const getMenuOptionsByRole = () => {\n let options = [];\n options.push(\n {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/profile')\n }}>\n
\n {t('header.menu.profile')}\n {(context.userGroups.find(e => e === 'CamonappUsers') !== undefined) ? null :\n \n \n {getTextType()}\n \n }\n
\n
\n );\n\n if (context.userGroups.find(e => e === 'ProfessorsUsers') !== undefined) {\n options.push(\n {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/students')\n }}>\n {t('pages.account.tabs.students')}\n \n );\n }\n\n if (context.userGroups.find(e => e === 'CamonappUsers') !== undefined) {\n options.push(\n {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/users')\n }}>\n {t('header.menu.users')}\n \n );\n options.push( {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/publishes')\n }}>\n {t('header.menu.published')}\n )\n }\n if (context.userGroups.find(e => e === 'FreelanceUsers') !== undefined) {\n options.push( {\n context.setOpenSubPro(true)\n }}>\n {t('sidebar.footer.action')}\n );\n }\n if (context.userGroups.find(e => e === 'CamonappAdminUsers') !== undefined) {\n options.push( {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/companies')\n }}>\n {t('header.menu.companies')}\n );\n options.push( {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/users')\n }}>\n {t('header.menu.users')}\n\n\n );\n\n\n options.push( {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/educationals')\n }}>\n {t('pages.account.tabs.educationals')}\n\n\n );\n options.push( {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/professors')\n }}>\n {t('pages.account.tabs.professors')}\n\n\n );\n options.push( {\n context.setPage({...context.page, openSubDialog: false});\n navigate('/account/students')\n }}>\n {t('pages.account.tabs.students')}\n );\n }\n\n options.push(\n {\n evt.preventDefault();\n window.open(t('pages.signUp.conditionsTwoUrl'), '_blank');\n window.focus();\n }}>\n {t('help.termsAndConditions')} \n \n );\n options.push(\n {\n evt.preventDefault();\n window.open(t('pages.signUp.privacyPoliciesUrl'), '_blank');\n window.focus();\n }}>\n {t('help.privacyPolicies')} \n \n );\n\n options.push({t('header.logout')});\n return options;\n };\n\n return (\n \n \n \n \n \n {!props.hideSearch &&\n \n {({location}) =>\n (\n )}\n \n }\n \n \n {\n setOpen(!open)\n }}>\n {userData && userData.email ? userData.email.charAt().toUpperCase() : ''}\n {userData && userData.email}\n \n \n }>\n {getMenuOptionsByRole()}\n \n \n {\n activeSearch &&\n \n {t('header.search')}\n \n }\n \n\n )\n}\n\nexport default Header;\n","import React, {useEffect, useState, useContext, useReducer, Fragment} from 'react';\nimport {useTranslate} from 'react-polyglot';\n\nimport userService from '../../services/User';\nimport UserProfile from './UserProfile';\nimport Subscription from './Subscription';\nimport Companies from './Companies';\nimport Users from './Users';\nimport Educational from './Educational';\nimport Publications from './Publications';\nimport Students from './Student';\nimport Profesors from './Profesors';\nimport {Auth} from 'aws-amplify';\nimport AppContext from '../../components/app/AppContext';\nimport Icon from '../../components/icon';\nimport Modal from '../../components/modal/modal';\nimport {isExpiredUser} from '../../utils/user';\nimport {userGroupsObject} from '../../utils/userGroups';\nimport CheckPermision from '../../components/checkPermision/checkPermision';\n\nimport '@material/tab-bar/dist/mdc.tab-bar.css';\nimport '@material/tab/dist/mdc.tab.css';\nimport '@material/tab-scroller/dist/mdc.tab-scroller.css';\nimport '@material/tab-indicator/dist/mdc.tab-indicator.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\nimport './Profile.scss';\nimport {Nav} from 'rsuite'\nimport Header from \"../../components/layout/Header\";\nimport {Fixed} from \"react-layout-pane\";\n\nfunction Profile({tabId, navigate, ...props}) {\n const context = useContext(AppContext);\n const [active, setActive] = useState({active: 'profile'});\n const [profile, setProfile] = useState({});\n const [index, setIndex] = useState(0);\n const [tabs, setTabs] = useState({tabsOption: [], tabsContent: []});\n const t = useTranslate();\n\n const [{openModal, propsModal, style}, setModal] = useReducer(\n (prevState, currState) => ({...prevState, ...currState}),\n {openModal: false, propsModal: {}, style: { style: { zIndex: '5' } }}\n );\n\n useEffect(() => {\n context.setPage({...context.page, shortLayout: true});\n initProfile();\n }, []);\n\n useEffect(() => {\n initProfile();\n }, [profile]);\n\n useEffect(() => {\n const indexTabActive = tabs.tabsOption?.findIndex((x) => x.route === tabId);\n setIndex(indexTabActive === -1 ? 0 : indexTabActive);\n setActive({active: tabId});\n }, [tabId, tabs.tabsOption]);\n\n const configTabs = [{\n name: t('pages.account.tabs.subscription'),\n component: ,\n /* viewFreelanceUsers: true,\n viewFreelancePaidUsers: true, */\n route: 'subscription'\n }, {\n name: t('pages.account.tabs.companies'),\n component: ,\n viewCamonappAdminUsers: true,\n route: 'companies'\n }, {\n name: t('pages.account.tabs.users'),\n component: ,\n viewCamonappUsers: true,\n viewCamonappAdminUsers: true,\n route: 'users'\n }, {\n name: t('pages.account.tabs.publishes'),\n component: ,\n viewCamonappUsers: true,\n route: 'publishes'\n }, {\n name: t('pages.account.tabs.educationals'),\n component: ,\n viewCamonappAdminUsers: true,\n route: 'educationals'\n }, {\n name: t('pages.account.tabs.professors'),\n component: ,\n viewEducationalUsers: true,\n viewCamonappAdminUsers: true,\n route: 'professors'\n }, {\n name: t('pages.account.tabs.students'),\n component: ,\n viewEducationalUsers: true,\n viewProfessorsUsers: true,\n viewCamonappAdminUsers: true,\n route: 'students'\n }];\n\n function initProfile() {\n userService.getProfile().then((res) => {\n initTabs(context.userGroups, res);\n });\n }\n\n function initTabs(userGroups, user) {\n let tabsPane = [\n {\n name: t('pages.account.tabs.profile'),\n route: 'profile',\n component: (\n \n ),\n },\n ];\n\n tabsPane = tabsPane.concat(getTabsByRole(userGroups));\n const tabsRender = tabsPane.reduce(\n (prev, curr, i) => ({\n ...prev,\n [i]: React.cloneElement(curr.component, {user}),\n }),\n {}\n );\n\n\n setTabs({\n tabsOption: tabsPane,\n tabsContent: tabsRender,\n });\n }\n\n function getTabsByRole(userGroups) {\n if (userGroups && userGroups.length) {\n return configTabs.filter((tab) =>\n userGroups.some((group) => tab[`view${group}`])\n );\n }\n return [];\n }\n\n function backHandler() {\n navigate('/');\n context.setPage({...context.page, shortLayout: false});\n }\n\n function onUpdateInfo(data, company, user) {\n // eslint-disable-next-line no-undef\n userService.updateProfile(data, company, user).then((res) => {\n setProfile(res);\n });\n }\n\n function onUpdateLang(user, lang) {\n return userService.updateLang(user, lang)\n }\n\n async function onDeleteAccount(data, user) {\n try {\n if (user.email === data.name) {\n await userService.deleteAccount(user.id);\n await Auth.signOut();\n window.location.href = '/';\n } else {\n const actionsDialogData = {\n title: t('pages.account.deleteAccount'),\n componentData: null,\n component: null,\n componentKey: null,\n action: () => {\n },\n };\n setModal({openModal: true, propsModal: actionsDialogData})\n }\n } catch (error) {\n\n }\n\n }\n\n function clickTab(e, synthE) {\n synthE.preventDefault();\n setActive({active: e});\n navigate(`/account/${e}`);\n }\n\n const renderContent = () => tabs.tabsContent[index];\n\n const renderTabs = () =>\n tabs.tabsOption?.map((x) => (\n \n {x.name}\n \n ));\n\n return (\n \n
\n
\n {!(isExpiredUser(context.userData)\n && CheckPermision.check(context.userGroups, [userGroupsObject.FreelanceUsers])\n ) && (\n
\n {\n backHandler();\n }}\n />\n {\n backHandler();\n }}\n >\n {t('pages.account.backToProject')}\n \n
\n )}\n
\n {/*{renderTabs()}*/}\n \n
\n
{renderContent()}
\n {openModal && (\n {\n setModal({openModal: false});\n }}\n />\n )}\n
\n \n );\n}\n\nexport default Profile;\n","import Profile from './Profile';\nexport default Profile;\n","import React, { useEffect, useState, useContext } from 'react';\nimport ExperienceService from '../../services/Experience';\nimport campaignService from '../../services/Campaign'\nimport AppContext from '../../components/app/AppContext';\nimport FilterBy from '../../components/Filters/FilterBy';\nimport { CardHomeStudio } from '../../pages/Home/CardHomeStudio';\n\n\nfunction Search(props) {\n const context = useContext(AppContext);\n const [searchValue, setSearchValue] = useState(\"\");\n const [experience, setExperiences] = useState([]);\n\n\n const getUserIdFromUrl = () => {\n let paths = window.location.pathname.split('/');\n let userId = paths.length > 1 ? paths[2] : '';\n let hasUser = paths.length > 1 && paths[1] === 'user';\n if (hasUser) {\n return userId\n }\n return ''\n };\n\n\n useEffect(() => {\n context.setPage({\n name: 'Experiencias recientes',\n refetch: fetchData\n });\n }, [])\n useEffect(() => {\n if (searchValue !== props.location.state.text) {\n setSearchValue(props.location.state.text);\n fetchData();\n }\n });\n\n function fetchData() {\n\n if (getUserIdFromUrl().length == 0){\n ExperienceService.search(props.location.state.text)\n .then((res) => {\n console.log('experience service\\n '+JSON.stringify(res));\n context.setPage({ ...context.page, name: `${res.data.length} resultados encontrados` });\n setExperiences(res.data)\n });\n }else{\n campaignService.listWithExperiences(getUserIdFromUrl())\n .then((res) => {\n let _response = {}\n let _data = [];\n res.data.forEach(campaign => {\n (campaign.experiences).forEach(experience =>{\n if (props.location.state.text.length >0 && (experience.name.toLowerCase()).includes((props.location.state.text).toLowerCase())){\n _data.push(experience)\n }\n })\n });\n _response.data = _data;\n _response.total = res.data.length;\n context.setPage({ ...context.page, name: `${_response.data.length} resultados encontrados` });\n setExperiences(_response.data)\n })\n }\n }\n\n return (\n experience && \n {result => (\n
\n {result.map((exp, index) => )}\n\n
\n )}\n
\n )\n}\n\nexport default Search;","import Search from './Search';\nexport default Search;","import React, { memo } from 'react'\nimport PropTypes from 'prop-types'\nimport { ReactSVG } from 'react-svg';\nconst NotFound = memo(function NotFound(props) {\n return (\n \n )\n})\n\nNotFound.propTypes = {\n\n}\n\nexport default NotFound\n","import React, { memo } from 'react'\nimport NotFound from './NotFound';\nimport PropTypes from 'prop-types';\nimport { useTranslate } from 'react-polyglot';\n\nimport './Error.scss';\nconst Error = memo(function Error(props) {\n const t = useTranslate();\n return (\n
\n \n

{t('pages.error.404')}

\n\n

{t('pages.error.return')}

\n
\n )\n})\n\nError.propTypes = {\n\n}\n\nexport default Error\n","import React, { memo, useEffect, useContext } from 'react'\nimport { useTranslate } from 'react-polyglot';\nimport UserService from '../../services/User';\nimport AppContext from '../../components/app/AppContext';\n\nconst Confirm = memo(function Confirm(props) {\n const context = useContext(AppContext);\n const t = useTranslate()\n useEffect(() => {\n\n const url = new URLSearchParams(window.location.search);\n const code = url.get('code');\n const client = url.get('client');\n const username = decodeURIComponent(url.get('username'));\n\n if (code && client && username) {\n UserService.confirmUser({\n code, client, username\n }).then((res) => {\n context.setPage({\n ...context.page, notification: {\n text: t('pages.confirm.confirmeddUser')\n }\n });\n }).catch((err) => {\n console.log(err);\n });\n }\n }, [])\n\n return (\n
\n\n
\n )\n})\n\nConfirm.propTypes = {\n\n}\n\nexport default Confirm\n","import React, { memo, useEffect, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport Auth from 'aws-amplify';\nimport UserService from '../../services/User';\nimport AppContext from '../../components/app/AppContext';\nconst Confirm = memo(function Confirm(props) {\n const context = useContext(AppContext);\n useEffect(() => {\n\n const url = new URLSearchParams(window.location.search);\n const code = url.get('code');\n const client = url.get('client');\n const username = decodeURIComponent(url.get('username'));\n }, [])\n\n return (\n
\n\n
\n )\n})\n\nConfirm.propTypes = {\n\n}\n\nexport default Confirm\n","class Request {\n\n static getParams(form) {\n const formInstance = new FormData(form);\n let formData = {};\n Array.from(formInstance.entries()).forEach((d) => {\n formData[d[0]] = d[1];\n });\n return formData;\n }\n}\n\nexport default Request;","import Request from './Request';\n\nclass ExperienceRequest extends Request {\n static make(params) {\n const reqParams = {\n ...params\n };\n if (reqParams.target[\"0\"]) {\n reqParams.target = reqParams.target[\"0\"];\n } else {\n delete reqParams.target\n }\n reqParams.campaign = JSON.stringify(reqParams.campaign);\n reqParams.experienceTypeId = reqParams.experience_type_id;\n reqParams.target_type = '2D';\n reqParams['campaign[id]'] = params.campaign.id ? params.campaign.id : ''\n if (params.campaign.name !== '') {\n reqParams[\"campaign[name]\"] = params.campaign.name;\n }\n if (params.user_project_id !== '' ) {\n reqParams[\"user_project_id[id]\"] = params.user_project_id || '';\n }\n if (params.user_project_id.name !== '') {\n reqParams[\"user_project_id[name]\"] = params.user_project_id.name|| '';\n }\n if (params.target.length === 0) {\n reqParams.targetless = 1;\n }\n return reqParams;\n }\n}\n\nexport default ExperienceRequest\n","import ExperienceService from '../services/Experience';\nimport ExperienceRequest from '../Request/ExperienceRequest';\nexport async function createExperience(data) {\n try {\n const params = ExperienceRequest.make(data);\n\n const response = await ExperienceService.create(params);\n return Promise.resolve(response);\n } catch (error) {\n return Promise.reject(error);\n }\n}","import React, {useState, useEffect, useContext} from 'react';\nimport {TextField} from '@rmwc/textfield';\nimport {useForm} from \"react-hook-form\";\nimport {Button} from '@rmwc/button';\nimport {useTranslate} from 'react-polyglot';\n\nimport Icon from '../icon';\nimport DropInput from '../dropInput';\nimport CampaignService from '../../services/Campaign';\nimport {createExperience} from '../../utils/experienceActions';\nimport ErrorMessage from '../ErrorMessage/ErrorMessage'\n\nimport '@material/textfield/dist/mdc.textfield.css';\nimport '@material/floating-label/dist/mdc.floating-label.css';\nimport '@material/notched-outline/dist/mdc.notched-outline.css';\nimport '@material/line-ripple/dist/mdc.line-ripple.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport '@rmwc/icon/icon.css';\nimport AppContext from '../app/AppContext';\nimport {ReactSVG} from 'react-svg';\nimport imageLogo from './imgIcon.jpg'\n\nfunction NewExperience(props) {\n const back = props.back;\n const t = useTranslate();\n\n const [experienceRoad, setExperienceRoad] = useState({experience_type: ''});\n const [hover, setHover] = useState({experience_type: ''});\n\n const { register, handleSubmit } = useForm();\n const context = useContext(AppContext);\n const [step, setStep] = useState(1);\n const [type, setType] = useState('');\n const [project, setProject] = useState(null);\n const [name, setName] = useState(\"\");\n const [inputFileValue, setInputFileValue] = useState(\"\");\n\n const [projects, setProjects] = useState([]);\n\n const [fileValue, setFileValue] = useState('');\n const [filePath, setFilePath] = useState('');\n const [, setPlainHover] = useState(false);\n const [, setWorldHover] = useState(false);\n const [campaign, setCampaign] = useState({});\n\n //handler state for validation of the experience form\n const [dataError, setDataError] = useState(false);\n const [validDataMessage, setValidDataMessage] = useState('');\n const validData = (data) => {\n let valid = data.name.trim() === '' || data.campaign.name.trim() === '' || (data.target.length === 0 && data.type === 'plain');\n if (data.name.trim() === \"\") {\n setValidDataMessage('experiences.newExp.valids.requiredName')\n } else if (data.campaign.name.trim() === \"\") {\n setValidDataMessage('experiences.newExp.valids.requiredProject')\n } else if (data.target.length === 0 && data.type === 'plain') {\n setValidDataMessage('experiences.newExp.valids.requiredTarget')\n }\n setDataError(valid)\n return !valid\n };\n\n useEffect(() => {\n CampaignService.listCampaings()\n .then((res) => {\n setProjects(res);\n });\n }, [])\n useEffect(() => {\n\n if (step === 2) {\n setStep(1)\n props.onChangeStep(1)\n }\n }, [back])\n\n function getFilePath(file) {\n let validFileTypes = ['JPEG', 'jpeg', 'jpg', 'JPG'];\n let fileExtension = file.files[0] ? file.files[0].name.split('.').pop() : '';\n window.URL = window.URL || window.webkitURL;\n if (file.files[0] && validFileTypes.includes(fileExtension)) {\n\n const url = URL.createObjectURL(file.files[0]);\n const size = file.files[0].size;\n if (Math.round(((size / 1024) / 1024)) >= 10) {\n // TODO: Api Gateway no soporta archivos mayores a 10mb validar que hacer con eso\n }\n setDataError(false);\n setValidDataMessage('');\n setFilePath(url);\n } else {\n if (!validFileTypes.includes(fileExtension)) {\n setDataError(true);\n setValidDataMessage(t('experiences.changeTarget.validFormat'))\n }\n setFileValue(false);\n }\n\n }\n\n function checkInput(e) {\n\n }\n\n function getCampaign(campaign) {\n\n setCampaign(campaign);\n }\n\n function triggerFile(e) {\n e.preventDefault();\n document.getElementById('inputFile').click();\n\n }\n \n const isFreelanceX = () => {\n return (context.userGroups.find(e => e === 'FreelanceUsers') !== undefined) || (context.userGroups.find(e => e === 'FreelancePaidUsers') !== undefined) \n }\n\n const handleChange = set => evt => {\n set(evt.target.value);\n };\n\n function resetDataAndDissmiss() {\n setStep(1);\n setType('');\n setProject(null);\n setName('');\n setDataError(false);\n setValidDataMessage(\"\");\n }\n\n function onSubmit(data) {\n if (validData(data)) {\n context.setPage({...context.page, loading: true});\n createExperience(data)\n .then(function (res) {\n context.setPage({...context.page, loading: false});\n if (context.page.refetch) {\n context.page.refetch()\n }\n props.onFinish(true);\n window.open(`${process.env.REACT_APP_EDITOR_DOMAIN}?id=${res.id}`, \"_blank\");\n })\n .catch(function (err) {\n context.setPage({...context.page, loading: false});\n props.onFinish();\n resetDataAndDissmiss();\n })\n }\n }\n\n return (\n
\n
\n {step === 1 ?\n

{t('experiences.newExp.chooseTypeExp')}

\n :\n

\n {t('experiences.newExp.createExp')}\n

\n }\n
\n {step === 1 ?\n
\n { !isFreelanceX() && \n
{\n setHover({experience_type: 'image_tracking'});\n setPlainHover(true)\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n setPlainHover(false)\n }} onClick={() => {\n setExperienceRoad({...experienceRoad, ...{experience_type: '3'}});\n setStep(3);\n setType('image_tracking');\n if (props.onChangeStep) {\n props.onChangeStep()\n }\n }}>\n
\n
\n {hover.experience_type === 'image_tracking' ?\n \n :\n \n }\n
\n
\n
\n {t('common.labels.imageTracking')}\n
\n
\n

\n {t('experiences.newExp.expTypeImageTracking')}\n

\n
\n
\n
\n
\n }\n { !isFreelanceX() && \n
{\n setHover({experience_type: 'world_tracking'});\n setPlainHover(true)\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n setPlainHover(false)\n }} onClick={() => {\n setExperienceRoad({...experienceRoad, ...{experience_type: '2'}});\n setStep(2);\n setType('plain');\n if (props.onChangeStep) {\n props.onChangeStep()\n }\n }}>\n
\n
\n {hover.experience_type === 'world_tracking' ?\n \n :\n \n }\n
\n
\n
\n {t('common.labels.worldTracking')}\n
\n
\n

\n {t('experiences.newExp.expTypeWorldTracking')}\n

\n
\n
\n
\n
\n }\n
{\n setHover({experience_type: 'immersive'});\n setWorldHover(true)\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n setWorldHover(false)\n }} onClick={() => {\n setExperienceRoad({...experienceRoad, ...{experience_type: '1'}});\n setStep(2);\n setType('world');\n if (props.onChangeStep) {\n props.onChangeStep()\n }\n }}>\n
\n
\n {hover.experience_type === 'immersive' ?\n \n :\n \n }\n\n
\n
\n
\n {t('common.labels.immersive')}\n
\n
\n

\n {t('experiences.newExp.expTypeImmersive')}\n

\n
\n
\n
\n
\n
\n :\n
\n
\n
\n \n \n \n
\n \n
\n
\n }\n onChangeFn={getCampaign}\n data={projects}\n project={project}\n />\n\n {//{fileValue.split('\\\\').reverse()[0]}\n }\n
\n {\n dataError ?
: null\n }\n
\n
{\n if (fileValue) {\n document.getElementById('inputFile').click();\n }\n }}>\n {\n setInputFileValue(e.target.value);\n setFileValue(true);\n getFilePath(e.target);\n checkInput(e)\n }} ref={register}/>\n\n {fileValue ?\n {'fileValue'}\n\n :\n
\n
\n \n {t('experiences.addOrDragTarget')}\n \"\"/\n {t('experiences.newExp.activeExp')}\n \n
\n
\n {t('experiences.newExp.formatsTarget')}\n
\n
\n
\n
\n }\n
\n
\n

{t('experiences.newExp.previewText.title')}

\n

{t('experiences.newExp.previewText.description')}

\n

\n {t('experiences.newExp.previewText.footer')} {t('experiences.newExp.previewText.support')}\n

\n
\n
\n
\n
\n
\n
\n
\n }\n
\n )\n}\n\nexport default NewExperience;","import React from 'react';\nimport './RegisterHeader.scss'\n\nconst RegisterHeader = () => {\n return (\n
\n {''}\n
\n );\n};\n\nexport default RegisterHeader;","import React, {memo, useState, Fragment} from 'react'\nimport {Button} from '@rmwc/button';\nimport {ReactSVG} from 'react-svg';\nimport {useTranslate} from 'react-polyglot';\nimport NewExperience from '../../components/actions/NewExperience';\nimport Modal from '../../components/modal/modal';\nimport {navigate} from '@reach/router';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport './onboard.scss';\nimport RegisterHeader from \"../../components/headers/RegisterHeader\";\n\nconst Onboarding = memo(function Onboarding(props) {\n const [exp, setExp] = useState(false);\n const t = useTranslate();\n\n const closeHandler = (val) => {\n setExp(false)\n if (val) {\n navigate('/');\n props.hide(true)\n }\n }\n return (\n \n \n
\n {!exp &&\n\n < section className=\"onboard-container\">\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n

{t('pages.onboarding.welcome')}

\n

{t('pages.onboarding.firstExperience')}

\n
\n
\n\n )\n})\n\nOnboarding.propTypes = {}\n\nexport default Onboarding\n","import styled from 'styled-components';\nimport { Button } from '@rmwc/button';\n\nimport '@material/button/dist/mdc.button.css';\n\nexport const SectionContainer = styled.section`\n\n position: absolute;\n display:${props => props.show ? 'flex' : 'none'};\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100vw;\n height: 100vh;\n background-color: #fff;\n z-index: 6000;\n`\n\nexport const ImgsContainer = styled.div`\n display: flex;\n \n position: relative;\n justify-content: center;\n flex-direction: column;\n align-items: center;\n margin-bottom: 200px;\n`\nexport const Title = styled.h3`\n font-family: 'Public Sans';\n font-size: '30px';\n font-weight: 700;\n`\nexport const Paragraph = styled.p`\n padding: 20px;\n font-size: 16px;\n font-weight: 400;\n`\nexport const Rounded = styled(Button)`\n border-radius: '200px';\n`","import React, { Fragment, memo, useEffect, useState } from 'react';\nimport { ReactSVG } from 'react-svg';\nimport { Button } from '@rmwc/button';\n\nimport { SectionContainer, ImgsContainer, Title, Paragraph } from './styles';\n\nimport '@material/button/dist/mdc.button.css';\nimport './confirmation.css';\nimport RegisterHeader from '../../components/headers/RegisterHeader';\n\nconst Confirmation = memo(function Confirmation(props) {\n const [show, setShow] = useState(false);\n\n\n useEffect(() => {\n if (props.path === '/confirmationSend' || props.path === '/resetSend' || props.path === '/resetOk') {\n setShow(true);\n }\n }, [props.path])\n\n return (\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n {props.title}\n \n \n {props.p}\n \n \n
\n
\n )\n})\n\n\nexport default Confirmation\n","import React, {useEffect, useState, useContext, Fragment} from 'react';\nimport {useTranslate} from 'react-polyglot';\n\nimport AppContext from '../../components/app/AppContext';\nimport ExperienceService from '../../services/Experience';\nimport FilterBy from '../../components/Filters/FilterBy';\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport {ChangeTargetDialogContext} from \"../../context/ChangeTargetDialogContext\";\nimport {ChangeNameDialogContext} from \"../../context/ChangeNameDialogContext\";\nimport { CardHomeStudio } from '../../pages/Home/CardHomeStudio';\nimport Loading from '../../components/loading';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\n\nfunction Recent() {\n const context = useContext(AppContext);\n const [experiences, setExperiences] = useState([])\n const t = useTranslate();\n\n const { \n showLoading,\n setShowLoading,\n overlayStyle, \n setOverlayStyle,\n } = useContext(ShowLoadingContext)\n\n \n\n const fetchData = async () => {\n setShowLoading(true)\n setOverlayStyle(\"loading-overlay-projects\")\n const {data} = await ExperienceService.recent();\n setExperiences(data || []);\n setShowLoading(false)\n }\n\n useEffect(() => {\n context.setPage({\n name: t('pages.recent.recentExp'),\n refetch: fetchData\n });\n fetchData();\n }, [])\n const {MigrationUserExperienceDialog} = useContext(MigrateUserDialogContext);\n const {QRDialog} = useContext(QRDialogContext);\n const {ChangeTargetDialog} = useContext(ChangeTargetDialogContext);\n const {\n ChangeNameDialogComponent\n } = useContext(ChangeNameDialogContext);\n return (\n \n {QRDialog()}\n {MigrationUserExperienceDialog()}\n {ChangeTargetDialog()}\n {ChangeNameDialogComponent()}\n {showLoading && \n \n }\n \n {result => (\n
\n {result.map(exp => )}\n\n
\n )}\n
\n
\n );\n}\n\nexport default Recent;\n","import React, {useEffect, useState, useContext, Fragment} from 'react';\nimport {useTranslate} from 'react-polyglot';\n\nimport AppContext from '../../components/app/AppContext';\nimport ExperienceService from '../../services/Experience';\nimport FilterBy from '../../components/Filters/FilterBy';\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport { CardHomeStudio } from '../../pages/Home/CardHomeStudio';\nimport Loading from '../../components/loading';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\n\nfunction Gallery() {\n const context = useContext(AppContext);\n const [experiences, setExperiences] = useState([])\n const t = useTranslate();\n\n const { \n showLoading,\n setShowLoading,\n overlayStyle, \n setOverlayStyle,\n } = useContext(ShowLoadingContext)\n\n \n const fetchData = async () => {\n setShowLoading(true)\n setOverlayStyle(\"loading-overlay-projects\")\n const {data} = await ExperienceService.samplesGallery();\n setExperiences(data || []);\n setShowLoading(false)\n }\n\n useEffect(() => {\n context.setPage({\n name: t('pages.samplesGallery.samplesGallery'),\n refetch: fetchData\n });\n fetchData();\n }, [])\n const {QRDialog} = useContext(QRDialogContext);\n\n return (\n \n {QRDialog()}\n {showLoading && \n \n }\n \n {result => (\n
\n {result.map(exp => )}\n
\n )}\n
\n
\n );\n}\n\nexport default Gallery;\n","import React, {useState,useContext,useReducer} from 'react'\nimport TextField from '@mui/material/TextField';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { StaticDatePicker } from '@mui/x-date-pickers/StaticDatePicker';\nimport ExperienceService from '../../services/Experience';\nimport AppContext from '../app/AppContext';\nimport { Button, Dialog, DialogActions, DialogContent, DialogTitle } from 'rmwc';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport moment from 'moment';\nimport './styles.scss'\nimport Sure from \"../../pages/Profile/Sure\";\nimport {useTranslate} from 'react-polyglot';\nimport Modal from '../modal/modal';\nimport Notification from '../notification/notification';\nexport default function DateModal({status,setModalStatus,exp}) {\n const [date, setDate] = useState (moment().add(1,'day').format());\n const [modal, setModal] = useState(false)\n const [cmpDataObj, setCmpDataObj] = useState({});\n const { setShowLoading } = useContext(ShowLoadingContext)\n const [{ showNotification, propsNotification }, setNotification] = useReducer(\n (prevState, currState) => ({ ...prevState, ...currState }),\n { showNotification: false, propsNotification: {} });\n const context = useContext(AppContext);\n const t = useTranslate();\n function handleCancel (){\n setModalStatus(false)\n }\n async function handleAccept () {\n setShowLoading(true)\n await ExperienceService.expirate(exp.id,date)\n setModalStatus(false)\n setShowLoading(false)\n if (context.page.refetch) {\n context.page.refetch()\n }\n }\n function dateError (){\n setNotification({\n showNotification: true,\n propsNotification: { label: 'ERROR', message:\"ERROR FECHA INCORRECTA\" }\n })\n }\n function handleClick(){\n let actionsDialogData = {\n title: t('experiences.actions.endDate') + date.format(\"DD/MM/YYYY\"),\n componentData: exp.name,\n component: Sure,\n componentKey: exp.id,\n action: date > moment() ? handleAccept : dateError\n };\n setModal(true);\n setCmpDataObj({...actionsDialogData})\n }\n function closeNotification() {\n setNotification({ showNotification: false })\n }\n return (\n {\n setModalStatus(false);\n }}\n >\n
\n \n {\n console.log(newValue)\n setDate(newValue);\n }}\n renderInput={(params) => }\n />\n \n
{date && date < moment() ? t('dateModal.msjError') : \"\"}
\n
\n \n \n \n \n {showNotification && }\n {modal &&\n {\n setModal(false)\n }}/>}\n \n );\n}","import React, {useState,useReducer,useContext} from \"react\";\nimport \"./styles.scss\"\nimport { DataTableRow, DataTableCell, ListItemPrimaryText,ListItemSecondaryText } from \"rmwc\";\nimport ExperienceService from \"../../../services/Experience\";\nimport {useTranslate} from 'react-polyglot';\nimport Appcontext from '../../app/AppContext';\nimport Sure from \"../../../pages/Profile/Sure\";\nimport Notification from '../../../components/notification/notification'\nimport Modal from '../../../components/modal/modal'\nimport ShowLoadingContext from '../../../context/ShowLoadingContext';\nimport {QRDialogContext} from \"../../../context/QRDialogContext\";\nimport moment from \"moment\";\n\nimport DateModal from \"../../DateModal\";\nexport default function TableContent ({exp}) {\n const context = useContext(Appcontext);\n const { setShowLoading} = useContext(ShowLoadingContext) \n const [cmpDataObj, setCmpDataObj] = useState({});\n const [modalStatus,setModalStatus] = useState(false)\n const [experience, setExp] = useState(false);\n const actualDay = moment().format(\"DD/MM/YYYY\")\n const dateExp = moment(exp.expiration_date).format(\"DD/MM/YYYY\")\n const link = process.env.REACT_APP_URL_PAGE\n const [{ showNotification, propsNotification }, setNotification] = useReducer(\n (prevState, currState) => ({ ...prevState, ...currState }),\n { showNotification: false, propsNotification: {} });\n const t = useTranslate();\n async function activateExp() {\n try {\n setShowLoading(true)\n await ExperienceService.expirate(exp.id,null)\n await ExperienceService.activate(exp.id);\n setShowLoading(false)\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.activate') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n \n } catch (error) {\n setShowLoading(false)\n console.log(error);\n //FALTA MOSTRAR MENSAJE DE ERROR\n } finally {\n setExp(false);\n }\n }\n \n async function desactivateExp() {\n try {\n setShowLoading(true)\n await ExperienceService.deactivate(exp.id);\n await ExperienceService.expirate(exp.id,moment())\n setShowLoading(false)\n setNotification({\n showNotification: true,\n propsNotification: { label: t('common.msg.success'), message: t('experiences.msgActions.deactivate') }\n })\n if (context.page.refetch) {\n context.page.refetch()\n }\n } catch (error) {\n console.log(error);\n\n } finally {\n setExp(false);\n }\n }\n\n function handleClick(){\n let actionsDialogData = {\n title: t('experiences.actions.changeURL'),\n componentData: exp.name,\n component: Sure,\n componentKey: exp.id,\n action: exp.active && dateExp > moment().format() ? desactivateExp : activateExp,\n };\n setExp(true);\n setCmpDataObj({...actionsDialogData})\n }\n\n const {setOpenQRDialog, setDialogData} = useContext(QRDialogContext);\n const handleQRDialog = () => {\n setDialogData({\n published: true,\n url: exp.active === true && dateExp > actualDay ? `${link}/${exp.link?.public_alias}`: `${link}/${exp.link?.public_alias}/?status=off`,\n shortUrl: exp.active === true && dateExp > actualDay ? `${link}/${exp.link?.public_alias}`: `${link}/${exp.link?.public_alias}/?status=off`\n });\n setOpenQRDialog(true)\n };\n\n function closeNotification() {\n setNotification({ showNotification: false })\n }\n function setDate (){\n setModalStatus(true)\n }\n return (\n <>\n \n \n
\n \n {exp.expiration_date !== null ? moment(exp.expiration_date).format('DD/MM/YYYY') : \"--/--/---\"}\n \n \n setDate()}\n className={exp.expiration_date && dateExp > actualDay ? \"table-row-content-clock-end\" : \"table-row-content-clock\" }>\n \n \n \n \n
actualDay && exp.active === true ? \"table-switch\" : \"table-switch-inactive\"}>\n \n
\n
\n
\n
\n {showNotification && }\n {experience &&\n {\n setExp(false)\n }}/>}\n \n \n )\n}","import React, {useEffect,useState} from \"react\";\nimport { DataTable,DataTableHeadCell,DataTableRow,DataTableHead, DataTableContent, DataTableBody } from \"rmwc\";\nimport TableContent from \"./TableContent\";\nimport { useTranslate } from \"react-polyglot\";\nimport \"./styles.scss\"\nexport default function Table ({experiences,setModalStatus}) {\n const [exp, setExp] = useState([])\n const t = useTranslate()\n useEffect(() => {\n setExp(experiences)\n },[experiences])\n return(\n <>\n \n \n \n
\n \n {t('tablePublications.experience')}\n \n \n URL\n \n \n {t('tablePublications.user')}\n \n
\n
\n \n {t('tablePublications.limitDate')}\n \n \n {t('tablePublications.timer')}\n \n \n {t('tablePublications.status')}\n \n
\n
\n
\n \n {\n exp.length ?\n exp.map ((v) => {\n return \n })\n :\n
\n \n }\n
\n \n
\n \n )\n}","import React, {useEffect, useState, useContext, Fragment} from 'react';\nimport {useTranslate} from 'react-polyglot';\nimport './Publications.scss'\nimport AppContext from '../../components/app/AppContext';\nimport ExperienceService from '../../services/Experience';\nimport FilterBy from '../../components/Filters/FilterBy';\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport {ChangeTargetDialogContext} from \"../../context/ChangeTargetDialogContext\";\nimport {ChangeNameDialogContext} from \"../../context/ChangeNameDialogContext\";\nimport Loading from '../../components/loading';\nimport {Pagination} from '@mui/material'\nimport { UserContext } from '../../context/UserContext';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\nimport Table from '../../components/Table'\nfunction Publications() {\n const context = useContext(AppContext);\n const [page,setPage] = useState(1)\n const [experiences, setExperiences] = useState([])\n const [total, setTotal] = useState(0)\n const t = useTranslate();\n let perPage = 50\n const {setNavLinks} = useContext(UserContext);\n const { \n showLoading,\n setShowLoading,\n overlayStyle, \n setOverlayStyle,\n } = useContext(ShowLoadingContext)\n const handleChange = (event, value) => {\n setPage(value);\n };\n console.log(page)\n const fetchData = async () => {\n setShowLoading(true)\n setOverlayStyle(\"loading-overlay-projects\")\n const {data,total} = await ExperienceService.published(true,page,perPage);\n setTotal(total)\n setExperiences(data || []);\n setShowLoading(false)\n }\n useEffect(() => {\n if(page !== 1)fetchData()\n },[page])\n useEffect(() => {\n context.setPage({\n name: t('pages.recent.recentExp'),\n refetch: fetchData\n });\n if(page === 1) fetchData();\n setNavLinks([{\n id: '',\n name: t('tablePublications.title'),\n tab: 'controlpanel'\n }])\n }, [])\n const {MigrationUserExperienceDialog} = useContext(MigrateUserDialogContext);\n const {QRDialog} = useContext(QRDialogContext);\n const {ChangeTargetDialog} = useContext(ChangeTargetDialogContext);\n const {\n ChangeNameDialogComponent\n } = useContext(ChangeNameDialogContext);\n return (\n \n {QRDialog()}\n {MigrationUserExperienceDialog()}\n {ChangeTargetDialog()}\n {ChangeNameDialogComponent()}\n {showLoading && \n \n }\n \n \n \n {result => (\n
\n
\n
\n )}\n
\n \n
\n );\n}\n\nexport default Publications;\n","import request from '../utils/request';\n\nclass TicketService {\n\n static async createTicket(params) {\n return request.postJson(`${process.env.REACT_APP_KWM_ENDPOINT}/tickets`,\n {\n body: params\n }\n );\n }\n\n}\nexport default TicketService;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { DialogButton } from \"rmwc\";\n\nimport getLocale from '../../utils/locale';\nimport \"./ContactForm.scss\";\nimport TicketService from \"../../services/Ticket\";\nimport { useTranslate } from \"react-polyglot\";\n\nconst ContactForm = ({ isOpen, onClose }) => {\n const t = useTranslate();\n const formRef = useRef()\n const locale = getLocale();\n\n const [formData, setFormData] = useState({\n subject: \"\",\n message: \"\",\n });\n\n const [status, setStatus] = useState({\n submitting: false,\n submitted: false,\n error: false,\n message: \"\",\n });\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n setFormData((prev) => ({\n ...prev,\n [name]: value,\n }));\n };\n\n const handleSubmit = async (e) => {\n setStatus({ ...status, submitting: true });\n\n try {\n await TicketService.createTicket({...formData, locale});\n\n setStatus({\n submitting: false,\n submitted: true,\n error: false,\n message: t(\"contactForm.messages.sentOk\"),\n });\n setFormData({ subject: \"\", message: \"\" });\n setTimeout(() => {\n onClose();\n setStatus((prev) => ({ ...prev, submitted: false, message: \"\" }));\n }, 3000);\n\n } catch (error) {\n setStatus({\n submitting: false,\n submitted: true,\n error: true,\n message: t(\"contactForm.messages.sentFailed\"),\n });\n }\n };\n\n return (\n
\n
\n
\n {t(\"contactForm.title\")}\n \n
\n\n
\n
\n
\n \n \n
\n \n
\n \n \n
\n \n {status.submitted && (\n

\n {status.message}\n

\n )}\n
\n \n
\n \n {status.submitting ? t(\"contactForm.button.sending\") : t(\"contactForm.button.send\")}\n \n \n
\n
\n
\n
\n );\n};\n\nexport default ContactForm;\n","import React, { useState } from 'react';\n\nimport './floatingButton.scss';\nimport {ReactSVG} from \"react-svg\";\nimport ContactForm from '../contactForm/ContactForm';\n\nfunction FloatingButton() {\n const [isFormOpen, setIsFormOpen] = useState(false)\n\n const handleClick = () => {\n setIsFormOpen(!isFormOpen)\n }\n\n return (\n <>\n { !isFormOpen &&\n
\n \n
\n }\n setIsFormOpen(false)} />\n \n )\n}\n\nexport default FloatingButton;\n","import React, {useState, useContext, useEffect} from 'react';\nimport {Row} from 'react-flexbox-grid';\nimport {navigate} from \"@reach/router\"\nimport {useTranslate} from 'react-polyglot';\nimport {Button} from '@rmwc/button';\nimport {Badge} from '@rmwc/badge';\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\n\nimport Modal from '../modal/modal';\nimport NewExperience from '../actions/NewExperience';\nimport Notification from '../notification/notification';\nimport Icon from '../icon';\nimport NavLink from './navLink';\nimport CheckPermission from '../checkPermision/checkPermision';\nimport {userGroupsObject} from '../../utils/userGroups';\nimport Appcontext from '../app/AppContext';\nimport {UserContext} from \"../../context/UserContext\";\nimport {getExpirationDays} from '../../utils/user';\nimport getLocale from '../../utils/locale';\nimport amplitude from 'amplitude-js';\n\nimport '@rmwc/badge/badge.css';\nimport './Menu.css';\n\nimport SausageButton from \"../coa/SausageButton\";\n\n\nconst IconsInactiveAssets = {\n campaign: 'folder-inactive',\n recent: 'recent-inactive',\n rocket: 'rocket-inactive',\n reports: 'reports-normal',\n webComponents: 'web-components-inactive',\n panel: 'control-panel-inactive',\n reportsV2: 'reports-inactive',\n samplesGallery: 'gallery-inactive',\n videoTutorials: 'video-tutorials-inactive', \n}\n\nconst URL_USER_MANUAL_ZENDESK = {\n es: `https://camonapp.zendesk.com/hc/es/categories/360002627951-Manual-de-Uso`,\n en: `https://camonapp.zendesk.com/hc/es/categories/360002627951-Manual-de-Uso`\n}\n\nconst URL_FAQS_ZENDESK = {\n es: `https://camonapp.zendesk.com/hc/es/categories/360002612272-Preguntas-Frecuentes`,\n en: `https://camonapp.zendesk.com/hc/es/categories/360002612272-Preguntas-Frecuentes`\n}\n\nfunction Menu(props) {\n const [collapse, setCollapse] = useState(false);\n const [exp, setExp] = useState(false);\n const [showNotification, setShowNotification] = useState(false);\n const context = useContext(Appcontext);\n const {setUserData, setNavLinks} = useContext(UserContext);\n const locale = getLocale();\n const [icons, setSelectedIcons] = useState({\n campaign: 'folder-hovered',\n recent: 'recent-inactive',\n rocket: 'rocket-inactive',\n reports: 'reports-normal',\n webComponents: 'web-components-inactive',\n panel: 'control-panel-inactive',\n reportsV2: 'reports-inactive',\n samplesGallery: 'gallery-inactive',\n videoTutorials: 'video-tutorials-inactive',\n });\n \n useEffect(() => {\n let paths = window.location.pathname.split('/');\n let hasCampaign = paths.length > 1 && paths[3] === 'campaign';\n let hasUser = paths.length > 1 && paths[1] === 'user';\n let campaignSelfUser = window.location.pathname.split('/')[1] === 'campaign';\n if (campaignSelfUser){\n setSelectedIcons({\n ...IconsInactiveAssets,\n campaign: 'folder-hovered',\n });\n }\n if (hasUser){\n setSelectedIcons({\n ...IconsInactiveAssets,\n campaign: 'folder-hovered',\n });\n }\n if (hasCampaign){\n setSelectedIcons({\n ...IconsInactiveAssets,\n campaign: 'folder-hovered',\n });\n }\n if (window.location.pathname === '/') {\n setSelectedIcons({\n ...IconsInactiveAssets,\n campaign: 'folder-hovered',\n });\n }\n if (window.location.pathname === '/published') {\n setSelectedIcons({\n ...IconsInactiveAssets,\n rocket: 'rocket-hovered',\n });\n }\n if (window.location.pathname === '/controlpanel') {\n setSelectedIcons({\n ...IconsInactiveAssets,\n panel: 'control-panel',\n });\n }\n if (window.location.pathname === '/recent') {\n setSelectedIcons({\n ...IconsInactiveAssets,\n recent: 'recent-hovered',\n });\n }\n if (window.location.pathname === '/reports') {\n setSelectedIcons({\n ...IconsInactiveAssets,\n reportsV2: 'reports-hovered',\n });\n }\n if (window.location.pathname === '/gallery') {\n setSelectedIcons({\n ...IconsInactiveAssets,\n samplesGallery: 'gallery-hovered'\n });\n }\n if (window.location.pathname === '/web-components') {\n setSelectedIcons({\n ...IconsInactiveAssets,\n webComponents: 'web-components',\n });\n }\n if (window.location.pathname === '/video-tutorials') {\n setSelectedIcons({\n ...IconsInactiveAssets,\n videoTutorials: 'video-tutorials-hovered',\n });\n }\n }, []);\n\n const setUserDataEmpty = () => {\n setSelectedIcons({\n ...icons, ...{\n campaign: 'folder-hovered', recent: 'recent-inactive', rocket: 'rocket-inactive',\n reports: 'reports-normal', panel: 'control-panel',\n samplesGallery: 'gallery-inactive'\n }\n });\n setUserData({\n id: '',\n username: ''\n })\n };\n\n const t = useTranslate();\n const collapseSidebar = (e) => {\n setCollapse(!collapse);\n\n props.onCollapse(!collapse);\n };\n\n function createExperience() {\n amplitude.getInstance().logEvent('Click en Crear Experiencia');\n navigate('/createExp')\n }\n\n function showSubscription() {\n navigate('/account/subscription');\n context.setOpenSubPro(true)\n }\n\n const closeHandler = (val) => {\n setExp(false);\n if (val) {\n setShowNotification(true);\n }\n };\n\n const ButtonFreelance = () => {\n return (\n <>\n {!collapse && (\n
\n

\n {t('sidebar.footer.title')}\n {`${getExpirationDays(context.userData.created_at)} ${t('sidebar.footer.time')}`}\n

\n
\n )}\n \n ) : (\n t('sidebar.footer.action')\n )\n }\n className={'center outlined red add-uncollapsed styleText'}\n onClick={showSubscription}\n />\n \n );\n };\n\n const canSeeReport = () => {\n if (context.userGroups.includes(userGroupsObject.CompanyUsers)) {\n return context.userData.company ? context.userData.company.canSeeReport : false;\n }\n return true;\n };\n \n const isFreelance = () => context.userGroups.includes(userGroupsObject.FreelanceUsers);\n const isFreelancePaid = () => context.userGroups.includes(userGroupsObject.FreelancePaidUsers);\n\n return (\n \n
\n \n
\n {collapse ? (\n
\n
\n ) : (\n
\n \n \n {/*
\n )}\n\n \n
    \n \n
  • \n {/**/}\n
    \n {''}\n {!collapse && {t('sidebar.menu.campaign')}}\n
    \n
  • \n
    \n {\n setSelectedIcons({\n ...icons, ...{\n campaign: 'folder-inactive', recent: 'recent-inactive', rocket: 'rocket-hovered',\n reports: 'reports-normal', panel: 'control-panel', samplesGallery: 'gallery-hovered'\n }\n });\n setNavLinks([{\n id: '',\n name: t('pages.samplesGallery.samplesGallery'),\n tab: ''\n }]);\n }}>\n
  • \n
    \n {''}\n {!collapse && {t('sidebar.menu.samplesGallery')}}\n
    \n
  • \n )}\n groups={[\n userGroupsObject.CamonappUsers,\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.CamonappSalesUsers,\n userGroupsObject.CompanyUsers,\n userGroupsObject.FreelancePaidUsers,\n userGroupsObject.FreelanceUsers,\n ]}\n />\n {\n setSelectedIcons({\n ...icons, ...{\n campaign: 'folder-inactive', recent: 'recent-hovered', rocket: 'rocket-inactive',\n reports: 'reports-normal', panel: 'control-panel-inactive', samplesGallery: 'gallery-inactive'\n }\n });\n setNavLinks([{\n id: '',\n name: t('pages.recent.recentExp'),\n tab: 'status'\n }]);\n }} to=\"/recent\">\n
  • \n {/**/}\n
    \n {''}\n {!collapse && {t('sidebar.menu.recent')}}\n
    \n
  • \n
    \n {\n setSelectedIcons({\n ...IconsInactiveAssets,\n rocket: 'rocket-hovered',\n });\n setNavLinks([{\n id: '',\n name: t('pages.status.statusExp'),\n tab: 'status'\n }]);\n }}>\n
  • \n
    \n {''}\n {!collapse && {t('sidebar.menu.published')}}\n
    \n\n
  • \n
    \n {\n setSelectedIcons({\n ...IconsInactiveAssets,\n panel: 'control-panel',\n });\n setNavLinks([{\n id: '',\n name: t('pages.status.statusExp'),\n tab: ''\n }]);\n }}>\n
  • \n
    \n {''}\n {!collapse && {t('sidebar.menu.controlPanel')}}\n
    \n \n
  • \n )}\n groups={[\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.CamonappUsers\n ]}\n />\n {\n event.preventDefault();\n event.stopPropagation();\n window.location.replace(process.env.REACT_APP_REPORTS_V2)\n }}>\n
  • \n
    \n
    \n {''}\n {!collapse && {t('sidebar.menu.reportsV2')} }\n
    \n
    \n
  • \n \n )}\n groups={[\n userGroupsObject.CamonappUsers,\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.CamonappSalesUsers,\n userGroupsObject.FreelancePaidUsers,\n userGroupsObject.CompanyUsers,\n userGroupsObject.FreelanceUsers\n ]}\n /> \n {\n setSelectedIcons({\n ...icons, ...{\n campaign: 'folder-inactive', recent: 'recent-hovered', rocket: 'rocket-inactive',\n reports: 'reports-inanctive',webComponents: 'web-components', samplesGallery: 'gallery-inactive'\n }\n });\n setNavLinks([{\n id: '',\n name: t('pages.webComponents.webComponents'),\n tab: 'web-components'\n }]);\n }} to=\"/web-components\">\n
  • \n {/**/}\n
    \n {''}\n {!collapse && {t('sidebar.menu.webComponents')}}\n
    \n
  • \n \n }\n groups={[\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.CamonappSalesUsers,\n userGroupsObject.CamonappUsers\n ]}\n />\n {\n setNavLinks([{\n id: '',\n name: 'Videos',\n tab: 'status'\n }]);\n setSelectedIcons({\n ...IconsInactiveAssets,\n videoTutorials: 'video-tutorials-hovered'\n });\n }}>\n
  • \n
    \n {''}\n {!collapse && {t('sidebar.menu.videoTutorials')} }\n
    \n\n
  • \n
    \n {\n event.preventDefault();\n event.stopPropagation();\n window.open(URL_USER_MANUAL_ZENDESK[locale], '_blank');\n }}>\n
  • \n
    \n {''}\n {!collapse &&\n \n {t('sidebar.menu.userManual')} \n \n }\n
    \n
  • \n
    \n {\n event.preventDefault();\n event.stopPropagation();\n window.open(URL_FAQS_ZENDESK[locale], '_blank');\n }}>\n
  • \n
    \n {''}\n {!collapse &&\n \n {t('sidebar.menu.faqs')} \n \n }\n
    \n
  • \n
    \n\n
\n
\n
\n
\n } groups={[userGroupsObject.FreelanceUsers]}/>\n
\n
\n {exp && (\n \n )}\n {showNotification && (\n \n )}\n \n );\n}\n\nexport default Menu;\n","import Menu from './menu';\nexport default Menu;","import React, { useEffect, useState } from 'react';\nimport { SimpleMenu, MenuItem } from '@rmwc/menu';\nimport { Button } from '@rmwc/button';\nimport Icon from '../icon';\n\n\nimport '@material/menu/dist/mdc.menu.css';\nimport '@material/menu-surface/dist/mdc.menu-surface.css';\nimport '@material/list/dist/mdc.list.css';\nimport '@material/button/dist/mdc.button.css';\n\nimport './filterMenu.scss'\nfunction FilterMenu({ options, onChange, selected }) {\n return (\n {selected} }\n onSelect={e => onChange(options[e.target.index])}\n className={'drop-menu-container'}\n >\n {options.map((option, index) => {\n return (\n \n
\n {option.name === selected &&\n \n }\n
\n
\n {option.name}\n
\n
\n )\n })}\n\n\n \n )\n}\n\nexport default FilterMenu;","import React, {useContext, useEffect} from 'react';\nimport {Breadcrumb} from \"rsuite\";\nimport {UserContext} from \"../../context/UserContext\";\nimport NavLink from \"../../components/menu/navLink\";\nimport {navigate} from \"@reach/router\";\nimport {useTranslate} from \"react-polyglot\";\n\nconst HomeBread = () => {\n const {setNavLinks, userData, navLinks} = useContext(UserContext);\n const t = useTranslate();\n useEffect(() => {\n if (userData.id) {\n setNavLinks([{\n id: userData.id,\n name: userData.username,\n tab: 'user'\n }])\n } else {\n if (window.location.pathname.split('/')[1] === 'campaign') {\n /* navigate(`/`);\n setNavLinks([{\n id: '',\n name: t('pages.campaigns.project'),\n tab: 'allprojects'\n }])*/\n } else if (window.location.pathname.split('/')[1] === 'video-tutorials') {\n setNavLinks([{\n id: '',\n name: t('pages.videoTutorials.project'),\n tab: ''\n }]) \n } else {\n setNavLinks([{\n id: '',\n name: t('pages.campaigns.project'),\n tab: 'allprojects'\n }])\n }\n }\n\n }, [userData]);\n\n const goToLink = (e) => {\n e.preventDefault();\n let parsedTab = JSON.parse(e.target.dataset[\"key\"]);\n if (parsedTab.tab === 'project') {\n let oTabFound = navLinks.find(e => e.tab === parsedTab.tab);\n if (!oTabFound)\n navigate(`/campaign/${parsedTab.id}`);\n }\n if (parsedTab.tab === 'user'){\n window.location.pathname = `/user/${parsedTab.id}`;\n }\n if (parsedTab.tab === 'allprojects') {\n let spliced = navLinks.splice(0, 1);\n setNavLinks(spliced);\n\n let oTabFound = navLinks.find(e => e.tab === parsedTab.tab);\n if (!oTabFound)\n navigate(`/`);\n }\n };\n\n return (\n '} className={'homeBreadcrumbMargin'}>\n {navLinks.map((e) => ({e.name}))}\n \n );\n};\n\nexport default HomeBread;","import React, {useContext, useState, useEffect} from 'react';\nimport {useTranslate} from 'react-polyglot';\nimport FilterMenu from './filterMenu';\nimport AppContext from '../app/AppContext';\nimport {EXPERIENCE_TYPE, EXPERIENCE_STATUS, EXPERIENCE_SORT} from '../../utils/experience';\nimport './filters.scss';\nimport {UserContext} from \"../../context/UserContext\";\nimport HomeBread from \"../../pages/Home/HomeBread\";\n\nfunction Filters(props) {\n const t = useTranslate();\n const context = useContext(AppContext);\n const getTitleComp = () => {\n return \n };\n const defaultFilter = {\n state: {name: t('filters.status.all'), value: 'all'},\n type: {name: t('filters.expType.all'), value: 'all'},\n sort: {name: t('filters.sort.recent'), value: 'recent'},\n };\n\n const [filter, setFilter] = useState(defaultFilter);\n\n useEffect(() => {\n setFilter(defaultFilter);\n context.setFilter(defaultFilter);\n }, [context.page.name])\n\n function handler(data, property) {\n setFilter({...filter, [property]: data});\n context.setFilter((prev) => ({...prev, [property]: data}));\n }\n\n const getExperiencesByDict = (dict) => Object.entries(dict).map(([value, name]) => ({\n name: t(name),\n value\n }));\n\n return (props.noRenderFilterContainer ? null :\n
\n {\n getTitleComp()\n }\n {\n (props.hideFilters !== true) &&\n\n
\n
\n {props.hideStatusFilter ?\n null\n :
\n {`${t('filters.labels.status')}`}:\n handler(e, 'state')}\n selected={filter.state.name}\n />\n
}\n
\n {`${t('filters.labels.experienceType')}:`}\n handler(e, 'type')}\n selected={filter.type.name}\n />\n
\n
\n {`${t('filters.labels.order')}:`}\n handler(e, 'sort')}\n selected={filter.sort.name}\n />\n
\n\n
\n\n
\n }\n
\n )\n}\n\nexport default Filters;","import Filters from './Filters';\nexport default Filters;","import React, { useState, useEffect, useContext } from 'react';\nimport { Dialog, DialogTitle, DialogContent, DialogActions, DialogButton } from '@rmwc/dialog';\nimport { Button } from '@rmwc/button';\nimport { TextField } from '@rmwc/textfield';\nimport ExperienceService from '../../services/Experience';\nimport ExperienceRequest from '../../Request/ExperienceRequest';\nimport DropInput from '../dropInput';\nimport CampaignService from '../../services/Campaign';\nimport AppContext from '../app/AppContext';\n\n\nimport Icon from '../icon';\n\nimport './dialog.scss';\nfunction DialogContainer() {\n const context = useContext(AppContext);\n const [open, setOpen] = useState(false);\n const [step, setStep] = useState(1);\n const [type, setType] = useState('');\n const [experience, setExperience] = useState(null);\n const [project, setProject] = useState(null);\n const [name, setName] = useState(\"\");\n const [inputFileValue, setInputFileValue] = useState(\"\");\n\n const [projects, setProjects] = useState([]);\n\n const [fileValue, setFileValue] = useState('');\n const [filePath, setFilePath] = useState('');\n const [plainHover, setPlainHover] = useState(false);\n const [worldHover, setWorldHover] = useState(false);\n const [campaign, setCampaign] = useState({});\n\n useEffect(() => {\n if (context.page.newExperience) {\n setOpen(true);\n }\n if (context.page.editExperience) {\n setExperience(context.page.experience);\n setStep(2);\n setExperienceForm(context.page.experience);\n setOpen(true);\n }\n if (context.page.changeTargetExperience) {\n setExperience(context.page.experience);\n setStep(2);\n setExperienceForm(context.page.experience);\n setOpen(true);\n }\n })\n useEffect(() => {\n CampaignService.list()\n .then((res) => {\n setProjects(res.data);\n });\n return function () {\n setOpen(false);\n }\n }, [])\n\n const handleChange = set => evt => {\n set(evt.target.value);\n };\n\n function setExperienceForm(experience) {\n if (name === \"\") {\n setName(experience.name);\n setProject(experience.campaign);\n setInputFileValue(experience.target ? experience.target.src : \"\");\n }\n }\n function getFilePath(file) {\n if (file.files[0]) {\n const url = URL.createObjectURL(file.files[0]);\n setFilePath(url);\n } else {\n setFileValue(false);\n }\n\n }\n\n async function createExperience(e) {\n\n e.preventDefault();\n try {\n const params = getParams(e.target);\n if (context.page.changeTargetExperience) {\n const response = await ExperienceService.changeTarget(params);\n } else {\n\n const response = await ExperienceService.create(params);\n\n if (response) {\n //TODO: Go to studio\n setContextToFalse();\n setOpen(false);\n }\n }\n\n } catch (error) {\n console.log(error);\n\n }\n\n }\n\n function setContextToFalse() {\n context.setPage({ ...context.page, newExperience: false, editTargetExperience: false, changeTargetExperience: false });\n }\n function getParams(form) {\n\n const formData = ExperienceRequest.getParams(form);\n\n if (formData.image && formData.image.size > 0) {\n formData.target = formData.image;\n }\n\n\n formData.type = 'world';\n formData.campaign = campaign;\n formData.targetless = formData.target ? false : true;\n return ExperienceRequest.make(formData);\n }\n\n function checkInput(e) {\n\n }\n\n function getCampaign(campaign) {\n setCampaign(campaign);\n }\n function triggerFile(e) {\n e.preventDefault();\n document.getElementById('inputFile').click();\n\n }\n function getTitle() {\n if (context.page.changeTargetExperience) {\n return `Cambiar Target a experiencia ${experience.name}`;\n }\n else if (context.page.editExperience) {\n return `Editar experiencia ${experience.name}`;\n }\n else {\n return `Nueva experiencia ${type === 'plain' ? 'plana' : 'mundo'} `;\n }\n }\n function getButtonTitle() {\n if (context.page.changeTargetExperience) {\n return 'Cambiar Target';\n }\n else if (context.page.editExperience) {\n return 'Editar Target';\n }\n else {\n return 'Crear experiencia';\n }\n }\n return (\n <>\n {\n setContextToFalse()\n setOpen(false);\n }}\n className={'dialog-full'}\n >\n \n {step === 2 &&\n { setStep(1) }} className={'new-experience-back'} />\n }\n \n \n \n
\n {step === 1 ?\n

\n Elige un tipo de experiencia\n

\n :\n

\n {getTitle()}\n\n

\n }\n\n
\n {step === 1 ?\n
\n\n
{ setPlainHover(true) }} onMouseLeave={() => { setPlainHover(false) }}>\n
\n
\n\n
\n
\n
\n Plana\n
\n
\n

\n experiencias de tipo plana\n

\n
\n
\n
\n
\n
{ setWorldHover(true) }} onMouseLeave={() => { setWorldHover(false) }}>\n
\n
\n\n
\n
\n
\n Mundo\n
\n
\n

\n experiencias de tipo mundo\n

\n
\n
\n
\n
\n
\n :\n
\n
\n
\n {!context.page.changeTargetExperience &&\n \n \n \n
\n \n
\n
\n }\n onChangeFn={getCampaign}\n data={projects}\n project={project}\n />\n\n {//{fileValue.split('\\\\').reverse()[0]}\n }\n
\n
\n }\n\n
\n
{\n if (fileValue) {\n document.getElementById('inputFile').click();\n\n }\n }}>\n { setInputFileValue(e.target.value); setFileValue(true); getFilePath(e.target); checkInput(e) }} />\n\n {fileValue ?\n {'fileValue'}\n :\n
\n
\n Agrega o arrastra el target ( ) que activará tu experiencia\n
\n
\n Formatos de target .jpg \n
\n
\n
\n
\n }\n
\n
\n

\n Tips to create a printed support with good detection quality:\n

\n

\n Variety of forms and contrasts, Designs with angular shapes that generate vertices, Well-defined figures and backgrounds, Graphic contents in most of the surface of the composition.\n

\n

\n Para más información sobre los targets visitá nuestra Página de soporte\n

\n
\n
\n
\n
\n
\n\n
\n
\n }\n\n
\n \n \n );\n}\n\nexport default DialogContainer;","import Dialog from './dialog';\nexport default Dialog;","import React, {memo, useEffect, useState, useRef, useContext} from 'react';\nimport {Button} from '@rmwc/button';\nimport {CircularProgress} from '@rmwc/circular-progress';\nimport countryList from 'react-select-country-list';\nimport {injectStripe} from 'react-stripe-elements';\nimport _ from 'lodash';\nimport {useTranslate} from 'react-polyglot';\nimport {refreshToken} from '../../utils/jwt';\nimport SubscriptionService from '../../services/Subscription';\nimport CommonForm from '../actions/CommonForm';\nimport {fieldRequired, phoneValidation} from '../../utils/formValidations';\nimport AlertDialog from '../general/AlertDialog';\n\nimport {Auth} from 'aws-amplify';\n\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport 'antd/dist/antd.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@rmwc/circular-progress/circular-progress.css';\nimport {ControlLabel, Input, SelectPicker} from \"rsuite\";\nimport getLocale from \"../../utils/locale\";\nimport messages from \"../../lang\";\nimport Loading from '../loading';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\n\nimport axios from 'axios'\nimport SausageButton from '../coa/SausageButton';\n\nconst locale = getLocale() || 'en';\nconst message = messages[locale];\nconst EMAIL_FOR_SUBSCRIPTION = \"https://qda6o4jhkgp5433c7xyvr7ufe40hqiwc.lambda-url.us-east-1.on.aws/\"\n\nconst validate = {\n name: (val) => fieldRequired(val, message.pages.subscription.form.name),\n surname: (val) => fieldRequired(val, message.pages.subscription.form.surname),\n phone: phoneValidation,\n address: (val) => fieldRequired(val, message.pages.subscription.form.address),\n zip: (val) => fieldRequired(val, message.pages.subscription.form.cpCode),\n city: (val) => fieldRequired(val, message.pages.subscription.form.city),\n country: (val) => fieldRequired(val, message.pages.subscription.form.country),\n};\n\nconst initialValues = {\n name: '',\n surname: '',\n phone: '',\n address: '',\n zip: '',\n city: '',\n country: '',\n};\n\nconst refreshSession = async () => {\n try {\n await refreshToken();\n window.location.reload();\n } catch (e) {\n console.log('Unable to refresh Token', e);\n }\n};\n\nconst SubForm = memo(function SubForm(props) {\n const [countries, setcountries] = useState([]);\n const [stripeFormError, setStripeFormError] = useState('');\n const [open, setOpen] = useState(false);\n const [loading, setLoading] = useState(false);\n const [checked, setChecked] = useState(false);\n\n const [controlError, setControlError] = useState({\n discountCouponErrorClassLabel: '',\n discountCouponErrorClassInput: '',\n discountCouponErrorMessage: '',\n });\n const { setOverlayStyle } = useContext(ShowLoadingContext)\n\n const labelError = useRef(null);\n const t = useTranslate();\n\n useEffect(() => {\n const options = countryList().getData();\n setcountries(options);\n }, []);\n\n async function validDataSubscription() {\n const {intent} = await SubscriptionService.getIntent();\n const cardElement = props.elements.getElement('card');\n const res = await props.stripe.confirmCardSetup(intent, {\n payment_method: {\n card: cardElement,\n },\n });\n if (res.error) throw res.error;\n return res;\n }\n\n async function createPaymentMethod(billing) {\n const cardElement = props.elements.getElement('card');\n const res = await props.stripe.createPaymentMethod({\n type: 'card',\n card: cardElement,\n billing_details: {...billing},\n });\n if (res.error) throw res.error;\n return res.paymentMethod;\n }\n\n function setError(message) {\n if (message === 'Coupon does not exist') {\n setControlError({\n discountCouponErrorClassLabel: 'inputCoALabelError',\n discountCouponErrorClassInput: 'inputCoAError',\n discountCouponErrorMessage: t('pages.subscription.form.errorCoupon')\n });\n document.getElementsByClassName('mdc-dialog__content')[0].scrollTo(0, 0)\n return;\n } else {\n setControlError({\n discountCouponErrorClassLabel: '',\n discountCouponErrorClassInput: '',\n discountCouponErrorMessage: ''\n });\n }\n setStripeFormError(message);\n document.getElementsByClassName('mdc-dialog__content')[0].scrollTo(0, 0)\n }\n\n async function createSubscription(values) {\n setLoading(true);\n setOverlayStyle(\"loading-overlay-full\")\n try {\n const billing = mapBillingDetails(values);\n /* await validDataSubscription(); */\n const paymentMethod = await createPaymentMethod(billing);\n\n const res = await SubscriptionService.create({\n period: props.paymentType === 1 ? 'MONTHLY' : 'ANNUAL',\n currency: 'USD',\n payment_method_id: paymentMethod.id,\n /* coupon: values.coupon, */\n });\n\n setLoading(false);\n if (res.data) {\n setOpen(true);\n } else if (res.code === '422') {\n setError(res.message);\n }\n } catch (error) {\n setLoading(false);\n setError(error.message);\n }\n }\n\n\n async function sendFormData(values){\n \n try {\n const {idToken: {payload: {email: userEmail}}} = await Auth.currentSession()\n\n const response = await axios.post(EMAIL_FOR_SUBSCRIPTION,{\n ...values ,\n email: userEmail\n })\n setOpen(true)\n return response\n } catch (error) {\n\n console.error(error)\n return error\n }\n\n }\n\n function mapBillingDetails({\n city,\n country,\n address,\n zip,\n name,\n surname,\n phone,\n }) {\n return {\n address: {\n city: city,\n country: country,\n line1: address,\n\n postal_code: zip,\n state: city,\n },\n email: null,\n name: name + ' ' + surname,\n phone: phone,\n };\n }\n\n return (\n
\n

{t('pages.subscription.form.title')}

\n
\n {e.preventDefault(); var tab = window.open('https://camonapp.com/soluciones/camon-studio/', '_blank'); tab.focus()}}\n label={<>{t('pages.subscription.linkPricing')} }\n />\n
\n {loading && \n \n }\n \n {({handleBlur, handleChange, handleSubmit, errors, values}) => (\n
\n
\n
\n
\n {t('pages.subscription.form.personalData').toUpperCase()}\n
\n
\n \n {t('pages.subscription.form.labels.username')}\n \n {\n handleChange(synthE)\n }}\n placeholder={t('pages.subscription.form.insertUsername')}\n />\n {errors['name'] ? errors['name'] : ''}\n \n {t('pages.subscription.form.labels.surname')}\n \n {\n handleChange(synthE)\n }}\n placeholder={t('pages.subscription.form.insertSurname')}\n />\n {errors['surname'] ? errors['surname'] : ''}\n \n {t('pages.subscription.form.labels.phone')}\n \n {\n handleChange(synthE)\n }}\n placeholder={t('pages.subscription.form.insertPhone')}\n />\n {errors['phone'] ? errors['phone'] : ''}\n
\n
\n \n {t('pages.subscription.form.labels.address')}\n \n {\n handleChange(synthE)\n }}\n placeholder={t('pages.subscription.form.insertBillingAddress')}\n />\n {errors['address'] ? errors['address'] : ''}\n
\n
\n\n
\n
\n \n {t('pages.subscription.form.labels.postalCode')}\n \n {\n handleChange(synthE)\n }}\n placeholder={t('pages.subscription.form.insertCP')}\n />\n {errors['zip'] ? errors['zip'] : ''}\n
\n
\n \n {t('pages.subscription.form.labels.country')}\n \n {\n handleChange({\n target: {\n name: 'country',\n value: ''\n }\n });\n }}\n onSelect={(selectedValue, synthE) => {\n handleChange({\n target: {\n name: 'country',\n value: selectedValue\n }\n });\n }}\n placeholder={t('pages.subscription.form.insertCountry')}\n />\n {errors['country'] ? errors['country'] : ''}\n \n {t('pages.subscription.form.labels.city')}\n \n {\n handleChange(synthE)\n }}\n placeholder={t('pages.subscription.form.insertCity')}\n />\n {errors['city'] ? errors['city'] : ''}\n
\n
\n
\n\n
\n : ''}\n />\n
\n
\n )}\n \n \n
\n );\n});\n\nSubForm.propTypes = {};\n\nexport default injectStripe(SubForm);\n","import React, {useState, useEffect, useContext} from 'react';\nimport {Dialog, DialogTitle, DialogContent} from '@rmwc/dialog';\nimport {\n DataTable,\n DataTableContent,\n DataTableHead,\n DataTableHeadCell,\n DataTableRow,\n DataTableBody,\n DataTableCell\n} from '@rmwc/data-table';\nimport {Button} from '@rmwc/button';\nimport {IconButton} from '@rmwc/icon-button';\nimport {Icon} from '@rmwc/icon';\nimport {Elements} from 'react-stripe-elements';\nimport {Switch} from 'antd';\nimport {Toggle} from 'rsuite'\nimport {StripeProvider} from 'react-stripe-elements';\nimport {useTranslate} from 'react-polyglot';\n\nimport SubForm from './SubForm'\nimport AppContext from '../app/AppContext';\nimport {getExpirationDays} from '../../utils/user';\nimport getLocale from '../../utils/locale';\n\nimport './actionsDialog.scss';\nimport '@material/dialog/dist/mdc.dialog.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport 'antd/dist/antd.css';\n\nimport '@material/list/dist/mdc.list.css';\nimport '@material/data-table/dist/mdc.data-table.css';\nimport '@rmwc/data-table/data-table.css';\nimport '@rmwc/icon/icon.css';\nimport '@material/icon-button/dist/mdc.icon-button.css';\nimport './subsDialog.scss';\nimport Header from \"../layout/Header\";\nimport {Icon as RIcon} from 'rsuite';\n\nfunction SubsDialog(props) {\n const context = useContext(AppContext);\n const [open, setOpen] = useState(false);\n const [stage, setStage] = useState(2);\n const [paymentType, setPaymentType] = useState(1);\n const t = useTranslate();\n const [classStyle, setClasStyle] = useState('pro-button');\n const [textPayment, setTextPayment] = useState(t('pages.subscription.canCancelSubscription'));\n\n useEffect(() => {\n if (context.page.openSubDialog) {\n setOpen(true);\n }\n if (context.openSubPro) {\n setOpen(true);\n }\n }, [context.page.openSubDialog, context.openSubPro])\n\n function setContextToFalse() {\n context.setPage({...context.page, openSubDialog: false});\n }\n\n function onChangePayment(e) {\n let value = paymentType === 1 ? 2 : 1;\n if (value === 2) {\n setTextPayment(t('pages.subscription.annualSaving'));\n setClasStyle('pro-buttonBlue');\n setPaymentType(2);\n } else {\n setTextPayment(t('pages.subscription.canCancelSubscription'));\n setClasStyle('pro-button');\n setPaymentType(1);\n }\n }\n\n function openSubForm() {\n setStage(2);\n }\n\n function handleClose() {\n setContextToFalse();\n setStage(2);\n setOpen(false);\n context.setOpenSubPro(false)\n }\n\n return (\n <>\n {\n setContextToFalse();\n setOpen(false);\n }}\n className={`dialog-full ${props.hasNoZIndex ? 'zindexSelectP' : ''}`}\n >\n\n
\n
\n \n
\n \n
\n {stage === 1 &&\n\n
\n

{t('pages.endOfTrial.upgrade')}

\n
\n
\n {t('pages.subscription.monthlyPlan')}\n
\n
\n {t('pages.subscription.yearlyPlan')}\n
\n
\n
\n }\n\n {/* {stage === 1 &&\n \n \n \n \n \n \n

\n {t('pages.subscription.basicPlan')}\n

\n
\n\n

{t('pages.account.subscription.labels.free')}

\n\n
\n

\n {getExpirationDays(context.userData.created_at) <= 0 ?\n `${t('pages.account.subscription.labels.expired')}`\n : `${t('sidebar.footer.title')} ${getExpirationDays(context.userData.created_at)} ${t('pages.account.subscription.labels.days')}`}\n

\n \n \n

\n {t('pages.subscription.professionalPlan')}\n

\n {paymentType === 1 &&
\n\n

USD

{`${process.env.REACT_APP_PRICING_MONTHLY}/${t('pages.subscription.month')}`}

\n\n
\n\n\n }\n {paymentType === 2 &&\n
\n\n

USD

{`${process.env.REACT_APP_PRICING_YEARLY}/${t('pages.subscription.year')}`}

\n\n
\n\n }\n
\n

\n {textPayment}\n

\n
\n
\n\n\n
\n\n \n \n )\n}\n\nexport default SubsDialog;","import React, { memo } from 'react'\nimport PropTypes from 'prop-types';\nimport { useTranslate } from 'react-polyglot';\nimport { ReactSVG } from 'react-svg';\nimport { Button } from '@rmwc/button';\n\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport './EndOfTrial.scss';\n\nconst EndOfTrial = memo(function EndOfTrial(props) {\n const t = useTranslate();\n return (\n
\n
\n\n
\n \n
\n
\n \n
\n
\n {t('pages.endOfTrial.endTrial')}\n

{t('pages.endOfTrial.paragraph')}

\n
\n )\n})\n\nEndOfTrial.propTypes = {\n\n}\n\nexport default EndOfTrial\n","import React from 'react';\nimport {Auth} from 'aws-amplify';\nimport {navigate} from \"@reach/router\"\nimport _ from 'lodash';\n\nimport Header from './Header';\nimport FloatingButton from './FloatingButton';\nimport {Layout, Fixed, Flex} from 'react-layout-pane';\nimport Menu from '../menu';\nimport Filters from '../Filters';\nimport DialogContainer from '../dialog';\nimport Loading from '../loading';\nimport SubsDialog from '../actionsDialog/subsDialog'\nimport AppContext from '../app/AppContext';\nimport Onboarding from '../../pages/onBoarding/Onboarding';\nimport EndOfTrial from '../../pages/EndofTrial/EndOfTrial';\nimport campaignService from '../../services/Campaign';\nimport { isExpiredUser } from '../../utils/user';\nimport { userGroupsObject } from '../../utils/userGroups';\nimport getCurrentUser from '../../utils/user'\nimport CheckPermision from '../checkPermision/checkPermision';\n\nimport './Layout.css';\nimport '@material/snackbar/dist/mdc.snackbar.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nimport { getCookie, saveCookie } from '../../utils/cookie';\n\nclass LayoutBase extends React.Component {\n state = {\n collapsible: false,\n showLoading: false,\n onBoarding: false,\n endOfTrial: false,\n OpenSnack: false,\n goToGallery: false,\n ready: false,\n notification: null\n }\n\n constructor(props) {\n super(props);\n this.handleCollapse = this.handleCollapse.bind(this);\n }\n\n // deprecated\n // openOnBoarding() {\n // navigate('/onboarding')\n // }\n\n goToGallery() {\n navigate('/gallery')\n }\n\n async componentWillMount() {\n const campaignsResponse = await campaignService.listWithExperiences();\n if (campaignsResponse && campaignsResponse.data.length === 0 && !this.checkExpiredUser()) {\n const user = await getCurrentUser()\n const userCookie = `alreadyVisited:${user.attributes.sub}`\n if (getCookie(userCookie) !== 'true') {\n this.setState({goToGallery: true})\n saveCookie(userCookie, 'true', 30)\n }\n }\n this.setState({ready: true});\n }\n\n componentDidUpdate() {\n\n const showLoading = this.context ? this.context.page.loading : false;\n const showEndofTrial = this.context ? this.context.page.ondOfTrial : false;\n const showNotification = this.context?.page?.notification ? Object.keys(this.context.page.notification).length : 0;\n const goToGallery = this.state.goToGallery || false;\n\n if (showLoading) {\n this.enableLoading();\n } else {\n this.disableLoading();\n }\n\n this.disableonBoarding();\n\n if (CheckPermision.check(this.context.userGroups, [\n userGroupsObject.CamonappUsers,\n userGroupsObject.CamonappAdminUsers,\n userGroupsObject.CamonappSalesUsers,\n userGroupsObject.CompanyUsers,\n userGroupsObject.FreelancePaidUsers,\n userGroupsObject.FreelanceUsers,\n ]) && goToGallery) {\n this.goToGallery()\n }\n\n if (showEndofTrial) {\n this.enableEndOfTrial();\n }\n\n if (CheckPermision.check(this.context.userGroups, [userGroupsObject.FreelanceUsers])\n && !_.isEmpty(this.context.userData)\n && window.location.pathname !== '/account/subscription'\n && window.location.pathname !== '/account/profile'\n && isExpiredUser(this.context.userData)) {\n this.goToSubscription();\n }\n }\n\n checkExpiredUser() {\n return CheckPermision.check(this.context.userGroups, [userGroupsObject.FreelanceUsers])\n && !_.isEmpty(this.context.userData)\n && isExpiredUser(this.context.userData)\n }\n\n enableEndOfTrial() {\n this.setState({\n endOfTrial: true\n })\n }\n\n enableonBoarding() {\n if (!this.state.onBoarding) {\n this.setState({\n onBoarding: true\n });\n }\n }\n\n enableSnack() {\n if (!this.state.OpenSnack) {\n this.setState({\n OpenSnack: true\n });\n }\n }\n\n disableSnack() {\n if (this.state.OpenSnack) {\n this.setState({\n OpenSnack: false\n });\n }\n }\n\n disableonBoarding() {\n if (this.state.onBoarding) {\n this.setState({\n onBoarding: false\n });\n }\n }\n\n enableLoading() {\n if (!this.state.showLoading) {\n this.setState({\n showLoading: true\n });\n }\n }\n\n disableLoading() {\n if (this.state.showLoading) {\n\n this.setState({\n showLoading: false\n });\n }\n }\n\n handleCollapse(collapse) {\n this.setState(\n {\n collapsible: collapse\n }\n );\n\n }\n\n async logout() {\n await Auth.signOut();\n window.location.href = '/';\n }\n\n goToSubscription() {\n navigate('/account/subscription');\n }\n\n render() {\n if (!this.state.ready)\n return null;\n return (\n \n\n {this.state.showLoading &&\n \n }\n\n {this.state.onBoarding &&\n \n }\n {this.state.endOfTrial &&\n \n }\n\n\n \n\n
\n\n\n \n \n \n\n {!this.context.page.shortLayout &&\n \n }\n \n
\n \n\n \n {!this.context.page.shortLayout &&\n \n }\n\n {this.props.children}\n\n
\n \n \n \n \n \n )\n }\n}\n\nLayoutBase.contextType = AppContext;\nexport default LayoutBase;\n","import Layout from './Layout';\nexport default Layout;","import React, { useState, useEffect, useContext } from 'react';\nimport { Dialog, DialogTitle, DialogContent, DialogActions, DialogButton } from '@rmwc/dialog';\nimport Icon from '../icon';\nimport AppContext from '../app/AppContext';\nimport { useTranslate} from 'react-polyglot';\n\nimport './actionsDialog.scss';\nimport '@material/dialog/dist/mdc.dialog.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nfunction ActionsDialog(props) {\n const context = useContext(AppContext);\n const [open, setOpen] = useState(false);\n const [dialogConfig, setDialogConfig] = useState({});\n const [componentValue, setComponentValue] = useState(null);\n const [back, setBack] = useState(0);\n const t = useTranslate();\n\n useEffect(() => {\n\n if (context.page.openActionsDialog) {\n\n setOpen(true);\n\n setDialogConfig(context.page.actionsDialogData);\n\n } else {\n setOpen(false);\n }\n\n }, [context.page.openActionsDialog])\n\n function setContextToFalse() {\n if (props.allwaysShow) {\n context.setPage({ ...context.page, openActionsDialog: false, onBoarding: true });\n\n } else {\n context.setPage({ ...context.page, openActionsDialog: false });\n\n }\n }\n function setLoading() {\n context.setPage({ ...context.page, loading: true });\n }\n function hideLoading() {\n context.setPage({ ...context.page, loading: false });\n }\n async function execDialogfunction() {\n if (context.page.openActionsDialog) {\n setLoading();\n try {\n const response = await context.page.actionsDialogData.action(componentValue);\n setContextToFalse();\n } catch (error) {\n hideLoading();\n setOpen(false);\n }\n }\n }\n function handleDialogChange(value) {\n\n setComponentValue(value);\n setDialogConfig({ ...dialogConfig, componentData: '' })\n }\n function backHandler() {\n setBack(back + 1);\n }\n return (\n <>\n {\n setContextToFalse()\n if (props.showCmp) {\n\n (props).showCmp(false)\n }\n props.onClose();\n setOpen(false);\n\n\n }}\n className={dialogConfig.full ? 'dialog-full' : 'dialog-normal'}\n >\n \n\n {(context.page.actionsDialogData && context.page.actionsDialogData.showBack) &&\n\n {\n backHandler();\n }} />\n }\n {\n if (!props.allwaysShow) {\n\n setContextToFalse(); setOpen(false)\n }\n\n }} />\n\n \n \n\n
\n

{dialogConfig.title}

\n
\n {dialogConfig.component &&\n \n\n }\n
\n {!dialogConfig.buttonLess &&\n \n {t('actions.cancel')}\n {\n execDialogfunction();\n\n }\n }>{t('actions.accept')}\n\n \n\n }\n \n \n )\n}\n\nexport default ActionsDialog;","import ActionsDialog from './actionsDialog';\nexport default ActionsDialog;","import React from 'react';\nimport DialogContainer from '../dialog';\nimport ActionsDialog from '../actionsDialog';\nimport SubsDialog from '../actionsDialog/subsDialog'\n\nimport { Auth } from 'aws-amplify';\nimport './Layout.css';\nimport AppContext from '../app/AppContext';\nimport '@material/snackbar/dist/mdc.snackbar.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\nclass FullPageLayout extends React.Component {\n state = {\n collapsible: false,\n showLoading: false,\n onBoarding: false,\n endOfTrial: false,\n OpenSnack: false,\n showCmp: true,\n notification: {}\n }\n constructor(props) {\n super(props);\n this.handleCollapse = this.handleCollapse.bind(this);\n this.hide = this.hide.bind(this);\n }\n\n componentDidUpdate() {\n const showLoading = this.context ? this.context.page.loading : false;\n const showEndofTrial = this.context ? this.context.page.ondOfTrial : false;\n const showNotification = this.context?.page?.notification ? Object.keys(this.context.page.notification).length : 0;\n\n\n if (showLoading) {\n\n this.enableLoading();\n } else {\n this.disableLoading();\n }\n\n this.disableonBoarding();\n\n if (showEndofTrial) {\n this.enableEndOfTrial();\n }\n\n\n }\n enableEndOfTrial() {\n this.setState({\n endOfTrial: true\n })\n }\n enableonBoarding() {\n if (!this.state.onBoarding) {\n this.setState({\n onBoarding: true\n });\n }\n }\n enableSnack() {\n if (!this.state.OpenSnack) {\n this.setState({\n OpenSnack: true\n });\n }\n }\n disableSnack() {\n if (this.state.OpenSnack) {\n this.setState({\n OpenSnack: false\n });\n }\n }\n disableonBoarding() {\n if (this.state.onBoarding) {\n this.setState({\n onBoarding: false\n });\n }\n }\n enableLoading() {\n if (!this.state.showLoading) {\n this.setState({\n showLoading: true\n });\n }\n }\n disableLoading() {\n if (this.state.showLoading) {\n\n this.setState({\n showLoading: false\n });\n }\n }\n handleCollapse(collapse) {\n this.setState(\n {\n collapsible: collapse\n }\n );\n\n }\n hide(val) {\n this.setState({\n showCmp: !val\n })\n }\n async logout() {\n await Auth.signOut();\n window.location.href = '/';\n }\n render() {\n return (\n
\n\n \n \n \n {this.state.showCmp &&\n React.cloneElement(this.props.children, {\n hide: this.hide\n })\n }\n\n
\n )\n }\n}\nFullPageLayout.contextType = AppContext;\nexport default FullPageLayout;\n","import React from 'react';\nimport {Auth} from 'aws-amplify';\nimport {navigate} from \"@reach/router\"\nimport _ from 'lodash';\n\nimport Header from './Header';\nimport FloatingButton from './FloatingButton';\nimport {Layout, Fixed, Flex} from 'react-layout-pane';\nimport Menu from '../menu';\nimport Filters from '../Filters';\nimport DialogContainer from '../dialog';\nimport Loading from '../loading';\nimport SubsDialog from '../actionsDialog/subsDialog'\nimport AppContext from '../app/AppContext';\nimport Onboarding from '../../pages/onBoarding/Onboarding';\nimport EndOfTrial from '../../pages/EndofTrial/EndOfTrial';\nimport campaignService from '../../services/Campaign';\nimport {isExpiredUser} from '../../utils/user';\nimport {userGroupsObject} from '../../utils/userGroups';\nimport CheckPermision from '../checkPermision/checkPermision';\n\nimport './Layout.css';\nimport '@material/snackbar/dist/mdc.snackbar.css';\nimport '@material/button/dist/mdc.button.css';\nimport '@material/ripple/dist/mdc.ripple.css';\n\nclass LayoutBaseEmpty extends React.Component {\n state = {\n collapsible: false,\n showLoading: false,\n onBoarding: false,\n endOfTrial: false,\n OpenSnack: false,\n ready: false,\n notification: null\n }\n\n constructor(props) {\n super(props);\n this.handleCollapse = this.handleCollapse.bind(this);\n }\n\n openOnBoarding() {\n navigate('/onboarding')\n }\n\n async componentWillMount() {\n this.setState({ready: true});\n }\n\n componentDidUpdate() {\n const showLoading = this.context ? this.context.page.loading : false;\n const showEndofTrial = this.context ? this.context.page.ondOfTrial : false;\n const showNotification = this.context?.page?.notification ? Object.keys(this.context.page.notification).length : 0;\n\n\n if (showLoading) {\n\n this.enableLoading();\n } else {\n this.disableLoading();\n }\n this.disableonBoarding();\n\n if (showEndofTrial) {\n this.enableEndOfTrial();\n }\n\n if (CheckPermision.check(this.context.userGroups, [userGroupsObject.FreelanceUsers])\n && !_.isEmpty(this.context.userData)\n && window.location.pathname !== '/account/subscription'\n && window.location.pathname !== '/account/profile'\n && isExpiredUser(this.context.userData)) {\n this.goToSubscription();\n }\n }\n\n checkExpiredUser() {\n return CheckPermision.check(this.context.userGroups, [userGroupsObject.FreelanceUsers])\n && !_.isEmpty(this.context.userData)\n && isExpiredUser(this.context.userData)\n }\n\n enableEndOfTrial() {\n this.setState({\n endOfTrial: true\n })\n }\n\n enableonBoarding() {\n if (!this.state.onBoarding) {\n this.setState({\n onBoarding: true\n });\n }\n }\n\n enableSnack() {\n if (!this.state.OpenSnack) {\n this.setState({\n OpenSnack: true\n });\n }\n }\n\n disableSnack() {\n if (this.state.OpenSnack) {\n this.setState({\n OpenSnack: false\n });\n }\n }\n\n disableonBoarding() {\n if (this.state.onBoarding) {\n this.setState({\n onBoarding: false\n });\n }\n }\n\n enableLoading() {\n if (!this.state.showLoading) {\n this.setState({\n showLoading: true\n });\n }\n }\n\n disableLoading() {\n if (this.state.showLoading) {\n\n this.setState({\n showLoading: false\n });\n }\n }\n\n handleCollapse(collapse) {\n this.setState(\n {\n collapsible: collapse\n }\n );\n\n }\n\n async logout() {\n await Auth.signOut();\n window.location.href = '/';\n }\n\n goToSubscription() {\n navigate('/account/subscription');\n }\n\n render() {\n if (!this.state.ready)\n return null;\n return (\n
\n {this.state.showLoading &&\n \n }\n\n \n {this.props.children}\n
\n )\n }\n}\n\nLayoutBaseEmpty.contextType = AppContext;\nexport default LayoutBaseEmpty;\n","import React, {memo} from 'react'\nimport PropTypes from 'prop-types'\n\nconst AppRoute = memo(function AppRoute({Layout, Component, ...props}) {\n return Layout ? \n \n : \n})\n\nAppRoute.propTypes = {\n Layout: PropTypes.shape().isRequired,\n Component: PropTypes.shape().isRequired,\n};\n\nexport default AppRoute\n","import React from 'react';\nimport {Header, Icon, Nav, Navbar} from \"rsuite\";\n\nconst ExperienceHeader = ({onClose, step, onBack}) => {\n return (\n
\n \n \n {step.length > 0 ? : null}\n\n \n \n \n
\n );\n};\n\nexport default ExperienceHeader;","import React, {Fragment, useState} from 'react';\nimport {ReactSVG} from \"react-svg\";\nimport {Button, Icon} from \"rsuite\";\nimport {useTranslate} from \"react-polyglot\";\nimport imageNoHover from './exp-plane-tracking.png'\nimport imageHover from './exp-plane-tracking-hover.png'\n\nconst ExperienceOptions = ({\n setStep,\n step,\n setTitle,\n setHideExperienceOptions,\n hover,\n setHover,\n experienceRoad,\n setExperienceRoad,\n isEditor\n }) => {\n const t = useTranslate();\n const goToFaceExps = () => {\n setExperienceRoad({...experienceRoad, ...{experience_type: '4'}});\n setTitle('Face Experience');\n setHideExperienceOptions(false);\n setStep(['image_tracking']);\n };\n const [hoverImage, setHoverImage] = useState(false);\n return (\n \n
\n
{\n setHover({experience_type: 'image_tracking'});\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n }} onClick={() => {\n setExperienceRoad({...experienceRoad, ...{experience_type: '3'}});\n setTitle(t('experienceNewFlow.imageTracking'));\n setHideExperienceOptions(false);\n setStep(['image_tracking']);\n }}>\n
\n
\n {hover.experience_type === 'image_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.imageTracking')}\n
\n
\n

\n {t('experienceNewFlow.imageTrackingDescription')}\n

\n
\n
\n
{\n setHover({experience_type: 'world_tracking'});\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n\n }} onClick={() => {\n setExperienceRoad({...experienceRoad, ...{experience_type: '2'}});\n setHideExperienceOptions(false);\n setTitle(t('experienceNewFlow.worldTracking'));\n setStep(['world_tracking']);\n }}>\n
\n
\n {hover.experience_type === 'world_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.worldTracking')} \n
\n
\n

\n {t('experienceNewFlow.worldTrackingDescription')}\n

\n
\n
\n
\n
\n
{\n setHover({experience_type: 'immersive'});\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n }} onClick={() => {\n setStep(['world_tracking']);\n setExperienceRoad({...experienceRoad, ...{experience_type: '1'}});\n setTitle(t('experienceNewFlow.immersive'));\n setHideExperienceOptions(false)\n }}>\n
\n {hover.experience_type === 'immersive' ?\n \"\"\n\n :\n \"\"\n\n }\n \n
\n
\n {t('experienceNewFlow.immersive')}\n
\n
\n

\n {t('experienceNewFlow.immersiveDescription')}\n

\n
\n
\n
\n
\n
\n {isEditor() ?
{\n setHoverImage(true)\n }} onMouseLeave={() => {\n setHoverImage(false);\n }}>\n {''}\n

{t('experienceNewFlow.faceTracking')}

\n
: null}\n\n
\n );\n};\n\nexport default ExperienceOptions;","import React, {Fragment, useState} from 'react';\nimport {Button} from \"rsuite\";\nimport {useTranslate} from \"react-polyglot\";\nimport imageNoHover from './exp-plane-tracking.png'\nimport imageHover from './exp-plane-tracking-hover.png'\n\n// THIS COMPONENT CAN BE SEEN WHEN LOGGED IN AS FREELANCE AND FREELANCE PAID USERS\nconst StudioOptions = ({\n setStep,\n step,\n setTitle,\n setHideExperienceOptions,\n hover,\n setHover,\n experienceRoad,\n setExperienceRoad,\n isEditor,\n isFreelanceX\n }) => {\n const t = useTranslate();\n const goToFaceExps = () => {\n setExperienceRoad({...experienceRoad, ...{experience_type: '4'}});\n setTitle('Face Experience');\n setHideExperienceOptions(false);\n setStep(['image_tracking']);\n };\n setTitle(t('studioNewFlow.title'));\n const [hoverImage, setHoverImage] = useState(false);\n return (\n \n
\n
{\n setHover({experience_type: 'image_tracking'});\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n }} onClick={() => {\n setExperienceRoad({...experienceRoad, ...{ \n world_tracking_type: 'web',\n experience_type: 'ImmersionWeb'\n }});\n setTitle(t('studioNewFlow.interactiveExperince'));\n setHideExperienceOptions(false);\n setStep(['interactive_experience_immersionWeb']);\n }}>\n
\n
\n {hover.experience_type === 'image_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('studioNewFlow.interactiveExperince')}\n
\n
\n

\n {t('studioNewFlow.interactiveExperinceDescription')}\n

\n
\n
\n { !isFreelanceX() &&\n
{\n setHover({experience_type: 'world_tracking'});\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n\n }} onClick={() => {\n setExperienceRoad({...experienceRoad, ...{experience_type: 'model_3d'}});\n setHideExperienceOptions(false);\n setTitle(t('studioNewFlow.model3d'));\n setStep(['model_3d']);\n }}>\n
\n
\n {hover.experience_type === 'world_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('studioNewFlow.model3d')} \n
\n
\n

\n {t('studioNewFlow.model3dDescription')}\n

\n
\n
\n
\n
\n }\n \n
\n
\n {hover.experience_type === 'plane_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('studioNewFlow.planeTracking')}\n
\n
\n

\n {t('studioNewFlow.planeTrackingDescription')}\n

\n
\n
\n \n\n
\n );\n};\n\nexport default StudioOptions;","import React from 'react';\n\nconst ExperienceTitle = ({title}) => {\n return (\n
\n

{title}

\n
\n );\n};\n\nexport default ExperienceTitle;","import React from 'react';\n\nconst ExperienceSubtitle = ({subT}) => {\n return (\n

\n {subT}\n

\n );\n};\n\nexport default ExperienceSubtitle;","import React from 'react';\nimport {ReactSVG} from \"react-svg\";\nimport {Button} from \"rsuite\";\nimport {useTranslate} from \"react-polyglot\";\n\n\nconst TrialPayUsersWorldWebComponent = ({hover,setHover}) => {\n const t = useTranslate();\n return (\n
{\n setHover({world_tracking_type: 'web_world_tracking'});\n }} onMouseLeave={() => {\n setHover({world_tracking_type: ''});\n }} onClick={() => {\n /*setTitle('World Tracking | Web');\n setStep(['world_tracking', 'world_tracking_type']);\n setExperienceRoad({...experienceRoad, ...{world_tracking_type: 'web', experience_type: '2s3'}});*/\n }}>\n
\n
\n {hover.world_tracking_type === 'web_world_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.web')}\n
\n {/*ss*/}\n
\n

\n {t('experienceNewFlow.worldTrackingWebDescription')}\n

\n
\n
\n
\n
\n );\n};\n\nexport default TrialPayUsersWorldWebComponent;","import React from 'react';\nimport {ReactSVG} from \"react-svg\";\nimport {useTranslate} from \"react-polyglot\";\nimport {Button} from \"rsuite\";\n\nconst EditorComponentWorldWeb = ({hover, setHover, setTitle, setStep, setExperienceRoad, experienceRoad}) => {\n const t = useTranslate();\n return (\n
{\n setHover({world_tracking_type: 'web_world_tracking'});\n }} onMouseLeave={() => {\n setHover({world_tracking_type: ''});\n }} onClick={() => {\n setTitle('World Tracking');\n setStep(['world_tracking', 'world_tracking_type']);\n setExperienceRoad({...experienceRoad, ...{world_tracking_type: 'web', experience_type: '2s3'}});\n }}>\n
\n
\n {hover.world_tracking_type === 'web_world_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.web')}\n
\n
\n

\n {t('experienceNewFlow.worldTrackingWebDescription')}\n

\n
\n
\n
\n
\n );\n};\n\nexport default EditorComponentWorldWeb;","import React, {useState} from 'react';\nimport ExperienceSubtitle from \"./ExperienceSubtitle\";\nimport {ReactSVG} from \"react-svg\";\nimport TrialPayUsersWorldWebComponent from \"./TrialPayUsersWorldWebComponent\";\nimport EditorComponentWorldWeb from \"./EditorComponentWorldWeb\";\nimport {useTranslate} from \"react-polyglot\";\nimport {Button} from \"rsuite\";\n\nconst WorldTrackingTypeComponent = ({step, setStep, experienceRoad, setExperienceRoad, setTitle, role}) => {\n const t = useTranslate();\n const [hover, setHover] = useState({world_tracking_type: ''});\n const getComponentRole = () => {\n let roleValue = role();\n switch (roleValue) {\n case 'TrialOrPay':\n return ;\n case 'Editor':\n return ;\n default:\n return ;\n }\n };\n return (\n
\n \n
\n
{\n setHover({world_tracking_type: 'app_world_tracking'});\n }} onMouseLeave={() => {\n setHover({world_tracking_type: ''});\n }} onClick={() => {\n setTitle(t('experienceNewFlow.worldTracking'));\n setStep(['world_tracking', 'world_tracking_type']);\n setExperienceRoad({...experienceRoad, ...{world_tracking_type: 'app', experience_type: '2s1'}});\n }}>\n
\n
\n {hover.world_tracking_type === 'app_world_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.app')}\n
\n
\n

\n {t('experienceNewFlow.worldTrackingAppDescription')}\n

\n
\n
\n
\n
\n {getComponentRole()}\n
{\n setHover({experience_type: 'world_tracking'});\n }} onMouseLeave={() => {\n setHover({experience_type: ''});\n\n }} onClick={() => {\n setExperienceRoad({...experienceRoad, ...{experience_type: 'model_3d'}});\n setTitle(t('studioNewFlow.model3d'));\n setStep(['world_tracking', 'model_3d']);\n }}>\n
\n
\n {hover.experience_type === 'world_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('studioNewFlow.model3d')} \n
\n
\n

\n {t('studioNewFlow.model3dDescription')}\n

\n
\n
\n
\n
\n \n
\n
\n );\n};\n\nexport default WorldTrackingTypeComponent;","import React, {useState} from 'react';\nimport ExperienceSubtitle from \"./ExperienceSubtitle\";\nimport {ReactSVG} from \"react-svg\";\nimport {Button} from \"@rmwc/button\";\nimport {useTranslate} from \"react-polyglot\";\n\nconst WorldTrackingBasedComponent = ({setExperienceRoad, experienceRoad, step, setStep, setTitle}) => {\n const t = useTranslate();\n const [hover, setHover] = useState({world_tracking_based: ''});\n return (\n
\n \n
\n
{\n setHover({world_tracking_based: 'marker-based'});\n }} onMouseLeave={() => {\n setHover({world_tracking_based: ''});\n }} onClick={() => {\n setStep(['world_tracking', 'world_tracking_type', 'world_tracking_based']);\n setTitle(`${t('experienceNewFlow.worldTracking')}`);\n setExperienceRoad({\n ...experienceRoad, ...{\n world_tracking_based: 'marker-based',\n experience_type: '2s2'\n }\n });\n }}>\n
\n
\n {hover.world_tracking_based === 'marker-based' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.markerBased')}\n
\n
\n

\n {t('experienceNewFlow.markerBasedDescription')}\n

\n
\n
\n\n
\n
\n
{\n setHover({world_tracking_based: 'marker-less'});\n }} onMouseLeave={() => {\n setHover({world_tracking_based: ''});\n }} onClick={() => {\n setStep(['world_tracking', 'world_tracking_type', 'world_tracking_based']);\n setTitle(`${t('experienceNewFlow.worldTracking')}`);\n setExperienceRoad({\n ...experienceRoad, ...{\n world_tracking_based: 'marker-less',\n experience_type: '2s2'\n }\n });\n }}>\n
\n
\n {hover.world_tracking_based === 'marker-less' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.markerLess')}\n
\n
\n

\n {t('experienceNewFlow.markerLessDescription')}\n

\n
\n
\n\n
\n
\n
\n
\n );\n};\n\nexport default WorldTrackingBasedComponent;","\nimport React from 'react';\nimport { InputPicker } from 'rsuite';\n\nconst SearchProject = ({ dataSearch, onSelect, onClean, disabled}) => {\n\n return (\n \n )\n};\n\nexport default SearchProject;\n","import React, {Fragment, useContext, useEffect, useState} from 'react';\nimport {\n Form,\n FormGroup,\n ControlLabel,\n FormControl,\n FlexboxGrid,\n Checkbox,\n SelectPicker,\n InputGroup,\n Icon, Whisper, Popover, AutoComplete\n\n} from \"rsuite\";\nimport {useTranslate} from \"react-polyglot\";\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport campaignService from \"../../services/Campaign\";\nimport SearchAddProject from '../searchProject/SearchProject';\nimport amplitude from 'amplitude-js';\n\n/* Eliminando la libreria RMWC */\nimport SausageButton from '../coa/SausageButton';\n\nconst ExperienceForm = ({\n actualStep, experienceRoad, projects,\n project,\n data,\n setData,\n fileValue,\n setFileValue,\n inputFileValue,\n setInputFileValue,\n filePath,\n setFilePath,\n handleCreateExperience,\n setDialogOptions,\n setOpenDialogAlert,\n isEditor\n }) => {\n const [showOfflineExpForm, setShowOfflineExpForm] = useState(false);\n const [, setDataError] = useState(false);\n const [, setValidDataMessage] = useState('');\n const [enabledCss, setEnabledCss] = useState('newExpButton-notValid');\n const [showForOtherUserForm, setShowForOtherUserForm] = useState(false);\n const [, setCampaignValue] = useState(null);\n const [disabledProject, setDisabledProject] = useState(false);\n const [savedCampaign, setSavedCampaign] = useState();\n const t = useTranslate();\n const [ validForm, setValidForm ] = useState(false);\n\n const hasTarget = () => {\n if (experienceRoad.experience_type === '3') {\n return true\n }\n if (experienceRoad.experience_type === '2' || experienceRoad.experience_type === '2s2' || experienceRoad.experience_type === '2s3') {\n return experienceRoad.world_tracking_type === 'app' && experienceRoad.world_tracking_based === 'marker-based'\n }\n if (experienceRoad.experience_type === '1' || experienceRoad.experience_type === '1s2') {\n return experienceRoad.world_tracking_type === 'web' || (experienceRoad.world_tracking_type === 'app' && experienceRoad.world_tracking_based === 'marker-based')\n }\n };\n\n const {\n users,\n onSearch, setSelectedUser, findUser,\n setCampaignId,\n userId,\n setUserId, selectedUser,\n setProjectsSearch,\n projectsSearch,\n setUsers,\n } = useContext(MigrateUserDialogContext);\n\n useEffect(() => {\n if (selectedUser) {\n setCampaignId(null);\n let user = findUser();\n setUserId(user.id);\n setData((lastData) => ({\n ...lastData, ...{\n user_id: user.id,\n }\n }));\n } else {\n setUserId('');\n setCampaignId(null);\n setProjectsSearch([]);\n setData((lastData) => ({\n ...lastData, ...{\n user_id: '',\n user_project_id: ''\n }\n }));\n }\n }, [selectedUser]);\n\n useEffect(() => {\n if (userId) {\n const getProjects = async () => {\n let response = await campaignService.listWithoutExperiences(userId);\n let dataFormatted = response.data.map(e => ({\n \"label\": e.name,\n \"value\": e.name,\n \"data\": e\n }));\n setProjectsSearch(dataFormatted)\n };\n getProjects();\n } else {\n setSelectedUser('');\n setProjectsSearch([]);\n setCampaignId(null);\n setCampaignValue(null);\n setData((lastData) => ({\n ...lastData, ...{\n user_project_id: '',\n user_id: ''\n }\n }))\n }\n }, [userId]);\n\n const triggerFile = (e) => {\n e.preventDefault();\n document.getElementById('inputFile').click();\n };\n\n const getFilePath = (file) => {\n let validFileTypes = ['JPEG', 'jpeg', 'jpg', 'JPG'];\n let fileExtension = file.files[0] ? file.files[0].name.split('.').pop() : '';\n window.URL = window.URL || window.webkitURL;\n if (file.files[0] && validFileTypes.includes(fileExtension)) {\n const size = file.files[0].size;\n const url = URL.createObjectURL(file.files[0]);\n\n if (Math.round(((size / 1024) / 1024)) >= 10) {\n // TODO: Api Gateway no soporta archivos mayores a 10mb validar que hacer con eso\n }\n\n if (file.files[0].size >= 5000000) {\n setDataError(true);\n setValidDataMessage(t('experiences.changeTarget.invalidSize'));\n setDialogOptions({bodyMsg: t('experiences.changeTarget.invalidSize')});\n setOpenDialogAlert(true);\n setFileValue(false);\n } else {\n setDataError(false);\n setValidDataMessage('');\n setFilePath(url);\n }\n } else {\n if (!validFileTypes.includes(fileExtension) && fileExtension !== '') {\n setDataError(true);\n setValidDataMessage(t('experiences.changeTarget.validFormat'));\n setDialogOptions({bodyMsg: t('experiences.changeTarget.validFormat')});\n setOpenDialogAlert(true);\n setFileValue(false);\n }\n }\n\n };\n\n const validData = (data) => {\n let valid = (data.name.trim() === '' || (!data.forOtherUser && data.campaign.name.trim() === '') || (hasTarget() && data.target.length === 0) ||\n (data.isOffline && (data.offlineName === '' || data.offlineTargetType === '')) ||\n (data.forOtherUser && (data.user_project_id === '' || data.user_id === '')));\n setValidForm(valid);\n return !valid\n };\n\n useEffect(() => {\n \n validData(data);\n\n }, [data]);\n\n const getParseDataOwnProject = (item) => {\n return {\n experiences: null,\n id: item.data ? item.data.id : '',\n name: item.data ? item.data.name : item.c,\n userId: item.data ? item.data.userId : ''\n }\n }\n\n const getParseDataExternalProject = (item) => {\n if (item.create) {\n return { name: item?item.value: '' };\n }\n return item.data.id\n };\n\n const setChangeProject = (field, c, item) => {\n if (!c) {\n setData((lastData) => ({\n ...lastData, ...{\n [field]: {\n name: ''\n }\n }\n }));\n } else {\n amplitude.getInstance().logEvent('Proyecto nuevo Creado');\n\n setData((lastData) => ({\n ...lastData, ...{\n [field]: item\n }\n }));\n }\n };\n\n const getPopover = (name) => {\n return \n

{name}

\n
\n };\n\n const getForm = () => {\n return \n \n \n
\n \n \n \n \n {t('experienceNewFlow.nameOfExperience')}\n
\n \n \n \n \n {\n setData({...data, ...{name: e}});\n }}/>\n \n
\n \n \"\"/\n \n
\n
\n
\n \n {t('experienceNewFlow.nameOfCollection')}\n \n
\n
\n \n
\n setChangeProject('campaign', null, { name: '' })}\n onSelect={(c, item) => setChangeProject('campaign', c, getParseDataOwnProject({...item, c}))}\n disabled={disabledProject}\n />\n
\n
\n \n \n \n
\n
\n
\n
{isEditor() ?\n
\n \n {\n setDisabledProject(true);\n setSavedCampaign(data.campaign);\n setData({\n ...data, ...{\n forOtherUser: checked,\n campaign: {\n name: '',\n \n },\n }\n });\n \n if (!checked) {\n setData({\n ...data, ...{\n user_project_id: '',\n user_id: '',\n forOtherUser: false,\n campaign: savedCampaign\n }\n });\n setProjectsSearch([]);\n setSelectedUser('');\n setUsers([]);\n setDisabledProject(false);\n }\n setShowForOtherUserForm(checked)\n }}>{t('experienceNewFlow.forAnotherUser')}\n \n {showForOtherUserForm ?\n \n {t('common.labels.user')}\n \n \n {\n setSelectedUser(e.value);\n }}/>\n \n \n \n \n \n {t('common.labels.project')}\n \n \n
\n
\n \n
\n setChangeProject('user_project_id', null, '')}\n onSelect={(e, item) => setChangeProject(\n 'user_project_id', e, getParseDataExternalProject(item)\n )}\n />\n
\n
\n \n \n \n
\n
\n
\n
\n : null}\n
: null}\n {(isEditor() && hasTarget()) &&\n \n {\n setData({\n ...data, ...{\n isOffline: checked\n }\n });\n if (!checked) {\n setData({\n ...data, ...{\n offlineName: '',\n offlineTargetType: '',\n isOffline: false\n }\n });\n }\n setShowOfflineExpForm(checked)\n }}> Experiencia Offline\n \n }\n {isEditor() && hasTarget() ?
\n {showOfflineExpForm ? \n \n {t('experienceNewFlow.offlineTargetType')}:\n {\n if (!e) {\n setData({\n ...data, ...{\n offlineTargetType: '',\n }\n });\n } else {\n setData({\n ...data, ...{\n offlineTargetType: e\n }\n });\n }\n }} searchable={false} data={[{\n \"label\": \"2D\",\n \"value\": 2,\n }, {\n \"label\": \"Cilindrico\",\n \"value\": 3,\n }]} style={{width: '100%'}}/>\n \n \n {t('experienceNewFlow.offlineName')} : \n {\n setData({\n ...data, ...{\n offlineName: e\n }\n });\n }}/>\n \n : null}\n
: null}\n
\n \n
\n {hasTarget() ? \n {t('experienceNewFlow.addTarget')}\n
\n {\n if (fileValue) {\n document.getElementById('inputFile').click();\n }\n }}>\n {\n setInputFileValue(e.target.value);\n setFileValue(true);\n getFilePath(e.target);\n setData({...data, ...{target: e.target.files.length ? e.target.files : []}});\n validData(data);\n }}/>\n {fileValue ?\n {'fileValue'}\n :\n
{\n e.preventDefault()\n }} onDragOver={(e) => {\n e.preventDefault()\n }} onDrop={(evt) => {\n evt.preventDefault();\n setInputFileValue(evt.dataTransfer.files[0]);\n setFileValue(true);\n getFilePath(evt.dataTransfer);\n setData({...data, ...{target: evt.dataTransfer.files.length ? evt.dataTransfer.files : []}});\n validData(data);\n }}>\n
\n {t('experiences.addOrDragTarget')} {t('experiences.newExp.activeExp')} \n
\n
\n {t('experiences.newExp.formatsTarget')}\n
\n
\n \n
\n
\n }\n
\n
\n \n \"\"/\n \n
\n
\n\n : null}\n \n
\n
\n
\n
\n
\n {\n e.preventDefault();\n if (validData(data)) {\n handleCreateExperience(data);\n }\n }}/>\n
\n
\n };\n\n const getFormControls = () => {\n switch (actualStep) {\n case '3':\n case '2s2':\n case'ImmersionWeb':\n case '1s2':\n case '4':\n case '2s3':\n return getForm();\n default:\n return null;\n }\n };\n return (\n getFormControls()\n );\n};\n\nexport default ExperienceForm;","import React from 'react';\nimport {\n Card,\n CardActionIcon,\n CardActionIcons,\n CardActions,\n CardMedia,\n CardPrimaryAction\n} from \"@rmwc/card\";\nimport {Typography} from \"antd\";\n\nconst Model3dCard = ({\n model3d,\n handleDeleteAction\n\n }) => {\n\n const deleteAction = () => {\n handleDeleteAction(model3d)\n }\n\n const cropLongText = (text)=>{\n\n if (text.length >= 30 )\n return text.slice(0,26)+'...glb';\n else return text;\n }\n const cropLongTextUsdz = (text)=>{\n\n if (text.length >= 30 )\n return text.slice(0,26)+'...usdz';\n else return text;\n }\n return (\n \n \n \n
\n \n {model3d.name.includes('glb')?\n cropLongText(model3d.name):\n cropLongTextUsdz(model3d.name)}\n \n
\n
\n \n \n \n \n \n
\n );\n}\n\n\nexport default Model3dCard;\n\n\n\n\n\n\n\n\n\n\n\n\n\n ","class Model3D {\n\n constructor(name, file) {\n this.name = this.createName(name); \n this.file = file;\n }\n\n createName = (name) => {\n const [aName, ext] = name.split('.')\n return aName + '_' + (Date.now()).toString() + '.' + ext;\n }\n}\n\nexport default Model3D","import React from 'react';\nimport { errorFormatTraslate } from '../../utils/modelViewerValidations';\nimport {useTranslate} from \"react-polyglot\";\n\n\nconst AlertDialogBodyMessageTemplate = ({invalidFiles}) => {\n const t = useTranslate();\n return(\n
\n

{ t('studioNewFlow.changeModel.invalidFile') }

\n

\n
    \n { invalidFiles.map(aInvalidFile =>
  • {aInvalidFile.fileName} - { (aInvalidFile.errors.map(err => t(errorFormatTraslate[err]) )).join(', ') }
  • ) }\n
\n
\n )\n};\n\nexport default AlertDialogBodyMessageTemplate;","import React, {Fragment, useContext, useEffect, useState} from 'react';\nimport {\n Form,\n FormGroup,\n ControlLabel,\n FlexboxGrid,\n InputGroup,\n Icon, \n Whisper, \n Popover,\n FormControl,\n Checkbox\n} from \"rsuite\";\nimport {useTranslate} from \"react-polyglot\";\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport campaignService from \"../../services/Campaign\";\nimport SearchAddProject from '../searchProject/SearchProject';\nimport Model3dCard from \"../cards/Model3dCard\";\nimport Model3D from '../../models/models3D';\nimport { validateFile } from '../../utils/modelViewerValidations';\nimport AlertDialogBodyMessageTemplate from '../general/AlertDialogBodyMessageTemplate';\nimport \"./Model3dForm.scss\";\n\n/* Eliminando la libreria RMWC */\nimport SausageButton from '../coa/SausageButton';\n\n\nconst MAX_CANT_MODELS = 2;\n\nconst Model3dForm = ({\n actualStep, experienceRoad, projects,\n project,\n data,\n setData,\n fileValue,\n filePath,\n setFilePath,\n handleUploadModels,\n setDialogOptions,\n setOpenDialogAlert,\n isEditor\n }) => {\n const [showOfflineExpForm, setShowOfflineExpForm] = useState(false);\n const [, setDataError] = useState(false);\n const [, setValidDataMessage] = useState('');\n const [enabledCss, setEnabledCss] = useState('newExpButton-notValid');\n const [enabledLoadCss, setEnabledLoadCss] = useState('newExpButton-valid');\n const [showForOtherUserForm, setShowForOtherUserForm] = useState(false);\n const [, setCampaignValue] = useState(null);\n const [disabledProject, setDisabledProject] = useState(false);\n const [filesInputs, setFilesInputs] = useState([]);\n const [ disableAddModelButton, setDisableAddModelButton] = useState(\"false\");\n const [usdzDisabled, setUsdzDisabled] = useState(true)\n const [uploadUsdz, setUploadUsdz] = useState(false)\n const [ errorProjectName, setErrorProjectName ] = useState(false);\n const [ errorModels, setErrorModels ] = useState(false);\n const [ errorExpName, setErrorExpName ] = useState(false);\n\n const t = useTranslate();\n\n const [ validForm, setValidForm ] = useState(false);\n\n const {\n users,\n onSearch, setSelectedUser, findUser,\n setCampaignId,\n userId,\n setUserId, selectedUser,\n setProjectsSearch,\n projectsSearch,\n setUsers,\n } = useContext(MigrateUserDialogContext);\n\n useEffect( () => { \n const cssStyleChoose = filesInputs.length < MAX_CANT_MODELS ? 'newExpButton-valid':'newExpButton-notValid';\n setEnabledLoadCss(cssStyleChoose)\n }, [filesInputs])\n\n useEffect(() => {\n if (selectedUser) {\n setCampaignId(null);\n let user = findUser();\n setUserId(user.id);\n setData((lastData) => ({\n ...lastData, ...{\n user_id: user.id,\n expname: ''\n }\n }));\n } else {\n setUserId('');\n setCampaignId(null);\n setProjectsSearch([]);\n setData((lastData) => ({\n ...lastData, ...{\n user_id: '',\n user_project_id: '',\n expname: ''\n }\n }));\n }\n }, [selectedUser]);\n\n useEffect(() => {\n if (userId) {\n const getProjects = async () => {\n let response = await campaignService.listWithoutExperiences(userId);\n let dataFormatted = response.data.map(e => ({\n \"label\": e.name,\n \"value\": e.name,\n \"data\": e\n }));\n setProjectsSearch(dataFormatted)\n };\n getProjects();\n } else {\n setSelectedUser('');\n setProjectsSearch([]);\n setCampaignId(null);\n setCampaignValue(null);\n setData((lastData) => ({\n ...lastData, ...{\n user_project_id: '',\n user_id: '',\n expname: ''\n }\n }))\n }\n }, [userId]);\n\n const triggerFile = (e) => {\n e.preventDefault();\n if (filesInputs.length < MAX_CANT_MODELS) {\n document.getElementById('inputFile').click();\n }\n };\n const triggerFileUsdz = (e) => {\n e.preventDefault();\n if (filesInputs.length < MAX_CANT_MODELS) {\n document.getElementById('inputFileUsdz').click();\n }\n };\n const handleDeleteAction = (aModel3d) => {\n if(aModel3d.name.includes(\"glb\")){\n setUsdzDisabled(true)\n }else{\n if(filesInputs.length > 1)\n setUsdzDisabled(false)\n }\n const filterInputs = filesInputs.filter( aFile => aFile.name !== aModel3d.name )\n setFilesInputs( filterInputs );\n\n }\n\n // TODO: Api Gateway no soporta archivos mayores a 10mb validar que hacer con eso. Agregamos validationApiGateway?\n const addModelsFiles = (files) => {\n const validFiles = [];\n const invalidFiles = [];\n const results = Array.from(files).map( aFile => validateFile(aFile) ); \n Promise.all(results).then( (filesValidations) => {\n filesValidations.forEach( (validationFile) => {\n if ( Object.values(validationFile.errors).includes(false) ) {\n let errors = Object.keys(validationFile.errors).filter( key => !validationFile.errors[key])\n invalidFiles.push({fileName: validationFile.file.name, errors: errors });\n } else {\n validFiles.push( new Model3D(validationFile.file.name, validationFile.file) );\n setErrorModels(false);\n }\n })\n\n if (invalidFiles.length) {\n setUsdzDisabled(true)\n setDataError(true);\n setValidDataMessage(t('studioNewFlow.changeModel.invalidFile'));\n setDialogOptions( { bodyMsg: } )\n setOpenDialogAlert(true);\n document.getElementById('inputFile').value = null;\n }else{\n setFilesInputs([\n validFiles[0],\n ...filesInputs\n ])\n setUsdzDisabled(false)\n }\n })\n };\n const addUsdzFile = (files) => {\n const validFiles = [];\n const invalidFiles = [];\n const results = Array.from(files).map( aFile => {\n if(aFile.name.includes(\".usdz\")){\n return {file:aFile, errors:{ validFormat:true,}}\n }else{\n return {file:aFile, errors:{ validFormat:false,}}\n }\n } ); \n Promise.all(results).then( (filesValidations) => {\n filesValidations.forEach( (validationFile) => {\n if ( Object.values(validationFile.errors).includes(false) ) {\n let errors = Object.keys(validationFile.errors).filter( key => !validationFile.errors[key])\n invalidFiles.push({fileName: validationFile.file.name, errors: errors });\n } else {\n validFiles.push( new Model3D(validationFile.file.name, validationFile.file) );\n setErrorModels(false);\n }\n })\n\n if (invalidFiles.length) {\n setDataError(true);\n setValidDataMessage(t('studioNewFlow.changeModel.invalidFile'));\n setDialogOptions( { bodyMsg: } )\n setOpenDialogAlert(true);\n document.getElementById('inputFile').value = null;\n }else{\n setFilesInputs([\n ...filesInputs,\n validFiles[0]\n ])\n }\n })\n};\n\n // TODO: revisar que saque data.name.trim() === '' ||\n const validData = (data) => {\n let valid = ( \n (!data.forOtherUser && data.campaign.name.trim() === '') ||\n data.models.length < 2 || \n !data.expname ||\n data.expname === '' ||\n (data.isOffline && (data.offlineName === '' || data.offlineTargetType === '')) ||\n (data.forOtherUser && (data.user_project_id === '' || data.user_id === '')));\n setValidForm(valid);\n /* if (!valid) {\n setEnabledCss('newExpButton-valid')\n } else {\n setEnabledCss('newExpButton-notValid')\n \n }\n } */\n return !valid\n };\n\n useEffect(() => {\n setData({...data, ...{models: filesInputs}});\n }, [filesInputs])\n\n useEffect(() => {\n validData(data);\n }, [data]);\n\n const getParseDataOwnProject = (item) => {\n return {\n experiences: null,\n id: item.data ? item.data.id : '',\n name: item.data ? item.data.name : item.c,\n userId: item.data ? item.data.userId : ''\n }\n }\n\n const setChangeProject = (field, c, item) => {\n if (!c) {\n setData((lastData) => ({\n ...lastData, ...{\n [field]: {\n name: ''\n }\n }\n }));\n } else {\n setErrorProjectName(false)\n setData((lastData) => ({\n ...lastData, ...{\n [field]: item\n }\n }));\n }\n };\n\n const getPopover = (name) => {\n return \n

{name}

\n
\n };\n \n\n const getForm = () => {\n return \n \n \n
\n \n \n \n \n \n {t('experienceNewFlow.nameOfExperience')}\n
\n \n \n \n \n {\n setData({...data, ...{expname: e}});\n setErrorExpName(false);\n }}/>\n \n
\n {!errorExpName ? \n \n \n \n : \n \n \"\"/\n }\n
\n
\n \n
\n \n {t('experienceNewFlow.nameOfCampaign')}\n \n
\n
\n \n
\n setChangeProject('campaign', null, { name: '' })}\n onSelect={(c, item) => setChangeProject('campaign', c, getParseDataOwnProject({...item, c}))}\n disabled={disabledProject}\n />\n
\n
\n {!errorProjectName ? \n \n \n \n :\n \n \n }\n
\n
\n {/* { isEditor() && \n {\n setData({\n ...data,\n isAd:c})\n }}\n >\n {t('experienceNewFlow.advertisement')}\n \n } */}\n
\n { filesInputs.length >= MAX_CANT_MODELS ?
:\n \n
\n {t('studioNewFlow.labelFromDragComponent')}\n \n {t('studioNewFlow.format')}\n \n
\n {\n // if (fileValue ) {\n // document.getElementById('inputFile').click();\n // }\n }}>\n {\n evt.preventDefault();\n if (evt.target.files.length + filesInputs.length > MAX_CANT_MODELS) {\n setDataError(true);\n setValidDataMessage(t('studioNewFlow.changeModel.invalidFile'));\n setDialogOptions( { bodyMsg: t('studioNewFlow.maxFilesError')});\n setOpenDialogAlert(true);\n } else {\n \n addModelsFiles(evt.target.files);\n // setData({...data, ...{models: filesInputs}});\n validData(data);\n }\n }}/>\n { \n
{\n e.preventDefault()\n }} onDragOver={(e) => {\n e.preventDefault()\n }} onDrop={(evt) => {\n evt.preventDefault();\n if (evt.dataTransfer.files.length + filesInputs.length > MAX_CANT_MODELS) {\n setDataError(true);\n setValidDataMessage(t('studioNewFlow.changeModel.invalidFile'));\n setDialogOptions( { bodyMsg: t('studioNewFlow.maxFilesError')});\n setOpenDialogAlert(true);\n } else {\n addModelsFiles(evt.dataTransfer.files);\n // setData({...data, ...{models: filesInputs}});\n validData(data);\n }\n }}> \n
\n {t('studioNewFlow.addOrDragModel')}\n
\n
\n {t('studioNewFlow.newExp.formatsModels')}\n
\n
\n \n
\n
\n }\n
\n {\n // if (fileValue ) {\n // document.getElementById('inputFile').click();\n // }\n }}>\n {\n evt.preventDefault();\n if (evt.target.files.length + filesInputs.length > MAX_CANT_MODELS) {\n setDataError(true);\n setValidDataMessage(t('studioNewFlow.changeModel.invalidFile'));\n setDialogOptions( { bodyMsg: t('studioNewFlow.maxFilesError')});\n setOpenDialogAlert(true);\n } else {\n addUsdzFile(evt.target.files);\n // setData({...data, ...{models: filesInputs}});\n validData(data);\n }\n }}/>\n { \n
{\n e.preventDefault()\n }} onDragOver={(e) => {\n e.preventDefault()\n }} onDrop={(evt) => {\n evt.preventDefault();\n if (evt.dataTransfer.files.length + filesInputs.length > MAX_CANT_MODELS) {\n setDataError(true);\n setValidDataMessage(t('studioNewFlow.changeModel.invalidFile'));\n setDialogOptions( { bodyMsg: t('studioNewFlow.maxFilesError')});\n setOpenDialogAlert(true);\n } else {\n addUsdzFile(evt.dataTransfer.files);\n // setData({...data, ...{models: filesInputs}});\n validData(data);\n }\n }}> \n
\n {t('studioNewFlow.addOrDragModel')}\n
\n
\n {t('studioNewFlow.newExp.formatModels2')}\n
\n
\n \n
\n
\n }\n
\n
\n {errorModels ? \n \n \"\"/\n \n :\n \n \"\"/\n \n }\n
\n \n\n \n \n
\n }\n
\n \n \n
\n \n \n { filesInputs.map( aModel3d => (\n \n \n \n ))\n }\n \n \n
\n
\n {\n e.preventDefault();\n if (validData(data)) {\n handleUploadModels(data);\n }\n if (data.models.length > 2) {\n setErrorModels(true)\n }\n if (data.campaign.name.trim() === '') {\n setErrorProjectName(true);\n }\n if (!data.expname || data.expname.trim() === '') {\n setErrorExpName(true);\n }\n }}\n className={`new-experience-button ${enabledCss}`}/>\n \n
\n
\n };\n \n return (\n getForm()\n );\n};\n\nexport default Model3dForm;","import React, {useState} from 'react';\nimport ExperienceSubtitle from \"./ExperienceSubtitle\";\nimport {Button} from \"@rmwc/button\";\nimport {useTranslate} from \"react-polyglot\";\n\nconst ImmersiveTypeComponent = ({step, setStep, experienceRoad, setExperienceRoad, setTitle}) => {\n const [hover, setHover] = useState({world_tracking_type: ''});\n const t = useTranslate()\n return (\n
\n \n
\n
{\n setHover({world_tracking_type: 'app_world_tracking'});\n }} onMouseLeave={() => {\n setHover({world_tracking_type: ''});\n }} onClick={() => {\n setTitle(t('experienceNewFlow.immersive'));\n setStep(['world_tracking', 'world_tracking_type']);\n setExperienceRoad({...experienceRoad, ...{world_tracking_type: 'app', experience_type: '1s1'}});\n /* setTitle('experiences.newExp.imgTracking');\n setHideExperienceOptions(false);\n setStep(['image_tracking']);*/\n }}>\n
\n
\n {hover.world_tracking_type === 'app_world_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.app')}\n
\n
\n

\n {t('experienceNewFlow.immersiveAppDescription')}\n

\n
\n
\n\n
\n
\n
{\n setHover({world_tracking_type: 'web_world_tracking'});\n }} onMouseLeave={() => {\n setHover({world_tracking_type: ''});\n }} onClick={() => {\n setTitle(`${t('experienceNewFlow.immersive')}`);\n setStep(['world_tracking', 'world_tracking_type']);\n setExperienceRoad({\n ...experienceRoad, ...{\n world_tracking_type: 'web',\n experience_type: 'ImmersionWeb'\n }\n });\n }}>\n
\n
\n {hover.world_tracking_type === 'web_world_tracking' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.web')}\n
\n
\n

\n {t('experienceNewFlow.immersiveWebDescription')}\n

\n
\n
\n\n
\n
\n
\n
\n );\n};\n\nexport default ImmersiveTypeComponent;","import React, {useState} from 'react';\nimport ExperienceSubtitle from \"./ExperienceSubtitle\";\nimport {ReactSVG} from \"react-svg\";\nimport {Button} from \"@rmwc/button\";\nimport {useTranslate} from \"react-polyglot\";\n\nconst ImmersiveBasedComponent = ({setExperienceRoad, experienceRoad, step, setStep, setTitle}) => {\n const [hover, setHover] = useState({world_tracking_based: ''});\n const t = useTranslate();\n return (\n
\n \n
\n
{\n setHover({world_tracking_based: 'marker-based'});\n }} onMouseLeave={() => {\n setHover({world_tracking_based: ''});\n }} onClick={() => {\n setStep(['world_tracking', 'world_tracking_type', 'world_tracking_based']);\n setTitle(`${t('experienceNewFlow.immersive')}`);\n setExperienceRoad({\n ...experienceRoad, ...{\n world_tracking_based: 'marker-based',\n experience_type: '1s2'\n }\n });\n /* setTitle('experiences.newExp.imgTracking');\n setHideExperienceOptions(false);\n setStep(['image_tracking']);*/\n }}>\n
\n
\n {hover.world_tracking_based === 'marker-based' ?\n \"\"\n\n\n :\n \"\"\n\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.markerBased')}\n
\n
\n

\n {t('experienceNewFlow.markerBasedDescription')}\n

\n
\n
\n
\n
\n
{\n setHover({world_tracking_based: 'marker-less'});\n }} onMouseLeave={() => {\n setHover({world_tracking_based: ''});\n }} onClick={() => {\n setStep(['world_tracking', 'world_tracking_type', 'world_tracking_based']);\n setTitle(`${t('experienceNewFlow.immersive')}`);\n setExperienceRoad({\n ...experienceRoad, ...{\n world_tracking_based: 'marker-less',\n experience_type: '1s2'\n }\n });\n }}>\n
\n
\n {hover.world_tracking_based === 'marker-less' ?\n \"\"\n\n :\n \"\"\n\n }\n
\n \n
\n
\n {t('experienceNewFlow.markerLess')}\n
\n
\n

\n {t('experienceNewFlow.markerLessDescription')}\n

\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default ImmersiveBasedComponent;","class Campaign {\n\n id;\n name;\n expname;\n \n setId(id) {\n this.id = id;\n }\n\n setName(name) {\n this.name = name;\n }\n\n setExpName(expname) {\n this.expname = expname;\n }\n}\n\nexport default Campaign","import Campaign from '../models/campaign';\nimport Request from './Request';\n\nclass Experience3dModelRequest extends Request {\n \n user_project_id = {\n name:'',\n }\n constructor(params) {\n super();\n this.campaign = new Campaign();\n this.campaign.setName(params.campaign.name);\n this.campaign.setId(params.campaign.id ? params.campaign.id : '');\n this.campaign.setExpName(params.expname);\n this.experienceTypeId = params.experience_type_id;\n // TODO: aca estan los files tengo que mapear los nombre\n this.models = params.models.map( file => file.name );\n }\n \n}\n\nexport default Experience3dModelRequest","\nimport Amplitude from './trackers/Amplitude'\nexport default class Behavior extends Amplitude{\n\n createExperienceIntent() {\n this.logEvent('Intento de crear experiencia', this.data)\n }\n createAccount() {\n this.logEvent('Crear Cuenta', this.data)\n }\n newExperience() {\n this.logEvent('Nueva experiencia', this.data)\n\n }\n imageTracking() {\n this.logEvent('Image Tracking', this.data)\n\n }\n worldTracking() {\n this.logEvent('World Tracking', this.data)\n\n }\n world360g() {\n this.logEvent('World 360', this.data)\n\n }\n faceTracking() {\n this.logEvent('Face Tracking', this.data)\n\n }\n modelViewer() {\n this.logEvent('Web AR', this.data)\n\n }\n disableExperience() {\n this.logEvent('Disable Experience', this.data)\n\n }\n QR() {\n this.logEvent('Ver QR', this.data)\n\n }\n help(){\n this.logEvent('Help', this.data)\n\n }\n}\n\n","import amplitude from 'amplitude-js';\n\nexport default class Amplitude {\n\n constructor(data){\n this.provider = amplitude.getInstance();\n this.data = data || {};\n }\n\n logEvent(event){\n this.provider.logEvent(event, this.data);\n }\n\n}","export default class User {\n\n constructor(params) {\n this.userId= params.userData.id;\n this.email = params.userData.email;\n this.location = '';\n this.os = '';\n this.browser = '';\n this.userGroup = params.userGroups;\n return this;\n }\n}","import React, {useState, Fragment, useEffect, useContext} from 'react';\nimport {Container} from \"rsuite\";\nimport {useTranslate} from \"react-polyglot\";\nimport {navigate} from \"@reach/router\";\nimport ExperienceHeader from \"../../components/Experience/ExperienceHeader\";\nimport ExperienceOptions from \"../../components/Experience/ExperienceOptions\";\nimport StudioOptions from \"../../components/Experience/StudioOptions\";\nimport ExperienceTitle from \"../../components/Experience/ExperienceTitle\";\nimport WorldTrackingTypeComponent from \"../../components/Experience/WorldTrackingTypeComponent\";\nimport WorldTrackingBasedComponent from \"../../components/Experience/WorldTrackingBasedComponent\";\nimport ExperienceForm from \"../../components/Experience/ExperienceForm\";\nimport Model3dForm from \"../../components/Experience/Model3dForm\";\nimport ImmersiveTypeComponent from \"../../components/Experience/ImmersiveTypeComponent\";\nimport ImmersiveBasedComponent from \"../../components/Experience/ImmersiveBasedComponent\";\nimport CampaignService from \"../../services/Campaign\";\nimport {createExperience} from \"../../utils/experienceActions\";\nimport AppContext from \"../../components/app/AppContext\";\nimport Loading from \"../../components/loading\";\nimport { EXPERIENCE_TYPE_ID } from '../../utils/experience';\nimport ExperienceService from '../../services/Experience';\nimport StorageService from '../../services/Storage';\nimport Experience3dModelRequest from '../../Request/Experience3dModelRequest';\nimport amplitude from 'amplitude-js';\nimport Behavior from \"../../services/Behavior\";\nimport User from \"../../services/trackers/User\"\nimport CustomMonoriel from '../../services/CustomMonoriel';\nimport FrinksLabV3 from '../../services/FrinksLabV3';\nimport AlertDialogWarn from '../../components/general/AlertDialogWarn';\n\nconst ExperiencePage = () => {\n ;\n //states\n const t = useTranslate();\n const context = useContext(AppContext);\n const [step, setStep] = useState([]);\n const [projects, setProjects] = useState([]);\n const [project, setProject] = useState(null);\n const [fileValue, setFileValue] = useState('');\n const [inputFileValue, setInputFileValue] = useState(\"\");\n const [filePath, setFilePath] = useState('');\n const [loading, showLoading] = useState(false);\n const [openDialogAlert, setOpenDialogAlert] = useState(false);\n const [dialogOptions, setDialogOptions] = useState({\n bodyMsg: '',\n fnHandler: () => {\n }\n });\n const [trackerUser, setTrackerUser] = useState();\n const [tracker, setTracker] = useState();\n // TODO: abstraer esto a una custom hook\n useEffect(() => { \n if (context.userGroups && context.userData) {\n const user = new User(context)\n setTrackerUser(user)\n if (user.userId) {\n const tracker = new Behavior(user)\n setTracker(tracker);\n tracker.createExperienceIntent();\n }\n }\n \n }, [context])\n /**\n * Type 3 image tracking\n * Type 2 world tracking ---> world tracking type (app || web) ----> based (marker-based || marker-less)\n */\n const [hover, setHover] = useState({experience_type: ''});\n const [title, setTitle] = useState(t('experienceNewFlow.title'));\n const [experienceRoad, setExperienceRoad] = useState({\n experience_type: '',\n world_tracking_type: '',\n world_tracking_based: ''\n });\n const [hideExperienceOptions, setHideExperienceOptions] = useState(true);\n const [isMagioGroup, setIsMagioGroup] = useState(true);\n\n const [data, setData] = useState({\n name: '',\n campaign: {\n name: ''\n },\n target: [],\n models: [],\n offlineName: '',\n offlineTargetType: '',\n isOffline: false,\n forOtherUser: false,\n user_project_id: '',\n user_id: '',\n isAd:''\n });\n\n const isEditor = () => {\n return context.userGroups.find(e => e === 'CamonappUsers') !== undefined\n };\n\n const isMagio = () => {\n return context.userGroups.find(e => e === 'Magios') !== undefined\n };\n\n const role = () => {\n if (context.userGroups.find(e => e === 'CamonappUsers') !== undefined) {\n return 'Editor'\n }\n if (context.userGroups.find(e => e === 'FreelanceUsers') !== undefined || context.userGroups.find(e => e === 'FreelancePaidUsers') !== undefined) {\n return 'TrialOrPay'\n }\n };\n\n const isFreelanceX = () => {\n const userRole = role()\n return userRole === undefined || userRole === 'TrialOrPay'\n }\n\n //effects\n useEffect(() => {\n CampaignService.listCampaings()\n .then((res) => {\n let formatted = res.map(p => {\n return {\"label\": p.name, \"value\": p.name, 'data': p}\n });\n setProjects(formatted);\n });\n \n setIsMagioGroup(isMagio());\n\n }, []);\n\n const getExperienceId = () => {\n const {experience_type} = experienceRoad;\n if (experience_type === '3')\n return \"3\";\n if (experience_type === '2s2' || experience_type === '2s3')\n return '2';\n if (experience_type === '1s2' || experience_type === \"ImmersionWeb\")\n return '1';\n return experience_type;\n };\n\n const handleCreateExperience = (data) => {\n showLoading(true);\n let payload = {\n experience_type_id: getExperienceId(),\n withTarget: experienceRoad.experience_type === '3' ? true : experienceRoad.experience_type === '2s3' ? false : experienceRoad.world_tracking_based === 'marker-based',\n platform: getExperienceId() === '3' || getExperienceId() === '4' ? 'app' : experienceRoad.world_tracking_type,\n ...data\n };\n\n createExperience(payload)\n .then(function (res) {\n showLoading(false);\n navigate('/');\n window.open(`${process.env.REACT_APP_EDITOR_DOMAIN}?id=${res.id}`, \"_self\");\n })\n .catch(function (err) {\n const duplicatedName = err.message === 'Experience Already Exists!';\n let message = duplicatedName ? t('experiences.newExp.valids.ExperienceAlreadyExists') : t('experienceNewFlow.internalError');\n let bodyMessage = t('experiences.newExp.valids.ExperienceAlreadyExistsBody');\n showLoading(false);\n setDialogOptions({\n bodyMsg: <>\n

{message}

\n {duplicatedName &&\n

{bodyMessage}

\n }\n ,\n fnHandler: () => { if (err.message !== 'Experience Already Exists!') window.location.reload();}\n });\n setOpenDialogAlert(true);\n })\n };\n\n const handleUploadModels = ( data ) => {\n showLoading(true);\n let payload = {\n experience_type_id: EXPERIENCE_TYPE_ID[experienceRoad.experience_type],\n platform: 'web',\n ...data\n }\n // crear el request \n let params = new Experience3dModelRequest(payload);\n console.log(\"Pegada al servicio modelsViewer: \", params);\n //ejecutarlo\n \n ExperienceService.createModelViewExperience(params)\n /* .then(async (res) => {\n await StorageService.uploadsModels(data.models).then(()=>{\n // window.open(`${process.env.REACT_APP_EDITOR_DOMAIN}?id=${res.id}`, \"_self\");\n }).catch( (err) => {throw new Error(\"Error al subir el modelo al bucket: \"+ err.message)})\n return res;\n }) */\n .then(async(res) =>{\n const formData = new FormData();\n formData.append('experienceId', res.experience.id);\n formData.append('campaignId', res.experience.campaign_id);\n formData.append('companyId', res.experience.company_id);\n formData.append('customerId', res.experience.user_id);\n/* formData.append('isAd', data.isAd) */\n await CustomMonoriel.createMonorailFolder(res.alias, formData);\n return res;\n })\n .then(async(res) => {\n let upload = await StorageService.uploadOneModel(data.models,res.alias)\n /* const formData = new FormData();\n const formData2 = new FormData();\n formData2.append(\"model\", data.models[0].file)\n formData.append(\"model\", data.models[1].file)\n /* await FrinksLabV3.ConvertGlb(data.models[0].name, res.alias); \n await CustomMonoriel.cletusUpdateGlbUsdz(formData,formData2,res.alias) */\n })\n .then(() => {\n showLoading(false);\n // navegar al home\n navigate('/');\n })\n .catch(function (err) {\n \n let message = `${err}`;\n if (message.includes('El nombre ya existe')){\n message = t('studioNewFlow.nameError')\n }else message = t('experienceNewFlow.internalError');\n showLoading(false);\n setDialogOptions({\n bodyMsg: message,\n fnHandler: () => window.location.reload()\n });\n setOpenDialogAlert(true);\n })\n }\n\n //functions\n const onBack = () => {\n let option = step[step.length - 1];\n if (option === 'interactive_experience') {\n setStep([]);\n setExperienceRoad({...experienceRoad, ...{experience_type: ''}});\n setHideExperienceOptions(true);\n }\n if (option === 'image_tracking') {\n setTitle(t('experienceNewFlow.title'));\n setStep([]);\n setExperienceRoad({...experienceRoad, ...{experience_type: ''}});\n goToMainExperiencePage();\n }\n if (option === 'world_tracking') {\n setTitle(t('experienceNewFlow.title'));\n setStep([]);\n setExperienceRoad({...experienceRoad, ...{experience_type: ''}});\n goToMainExperiencePage();\n }\n if (option === 'world_tracking_type') {\n if (experienceRoad.experience_type === '1s1' || experienceRoad.experience_type === 'ImmersionWeb') {\n setExperienceRoad({...experienceRoad, ...{experience_type: '1'}});\n setTitle(t('experienceNewFlow.immersive'));\n }\n if (experienceRoad.experience_type === '2s1' || experienceRoad.experience_type === '2s3') {\n setExperienceRoad({...experienceRoad, ...{experience_type: '2'}});\n setTitle(t('experienceNewFlow.worldTracking'));\n }\n setStep(['world_tracking']);\n }\n\n if (option === 'model_3d' ) {\n if (step.length > 1 && step[step.length - 2] === 'world_tracking') {\n setExperienceRoad({...experienceRoad, ...{experience_type: '2'}});\n setTitle(t('experienceNewFlow.worldTracking'));\n setStep(['world_tracking']);\n } else {\n setStep([]);\n setExperienceRoad({...experienceRoad, ...{experience_type: ''}});\n setHideExperienceOptions(true);\n }\n \n }\n\n if (option === 'interactive_experience_immersionWeb') {\n setStep([]);\n setExperienceRoad({...experienceRoad, ...{experience_type: ''}});\n setHideExperienceOptions(true);\n }\n\n if (option === 'world_tracking_based') {\n if (experienceRoad.experience_type === '1s2') {\n setExperienceRoad({...experienceRoad, ...{experience_type: '1s1'}});\n setTitle(t('experienceNewFlow.immersive'));\n }\n if (experienceRoad.experience_type === '2s2') {\n setExperienceRoad({...experienceRoad, ...{experience_type: '2s1'}});\n setTitle(t('experienceNewFlow.worldTracking'));\n }\n setStep(['world_tracking', 'world_tracking_type']);\n }\n cleanData()\n };\n\n const onClose = () => {\n navigate('/')\n };\n\n const cleanData = () => {\n setData({\n name: '',\n campaign: {\n name: ''\n },\n target: [],\n models:[],\n offlineName: '',\n offlineTargetType: '',\n isOffline: false\n });\n setFileValue('');\n };\n\n const goToMainExperiencePage = () => {\n setTitle(t('experiences.newExp.chooseTypeExp'));\n setHideExperienceOptions(true);\n };\n\n\n const getComponentByExperienceType = () => {\n switch (experienceRoad.experience_type) {\n case '1':\n amplitude.getInstance().logEvent('Click en Experiencia Immersiva');\n\n return ;\n case '2':\n amplitude.getInstance().logEvent('Click en Experiencia World Tracking');\n\n return ;\n case '1s1':\n return ;\n case'2s1':\n return ;\n case'model_3d':\n return ;\n case'2s2':\n case 'ImmersionWeb':\n case '3':\n case '1s2':\n case'2s3':\n case '4':\n return ;\n default:\n return \n }\n };\n \n return (\n \n {\n if (dialogOptions.fnHandler) {\n dialogOptions.fnHandler()\n }\n }}\n buttonMessage={t('actions.close')}\n />\n {loading && }\n \n \n { isFreelanceX() && hideExperienceOptions ? \n \n \n\n \n : getComponentByExperienceType() }\n\n \n );\n};\n\nexport default ExperiencePage;","import React, {useContext, useEffect, useState} from 'react';\nimport AppContext from \"../app/AppContext\";\nimport {useTranslate} from \"react-polyglot\";\nimport ExperienceService from \"../../services/Experience\";\nimport FilterBy from \"../Filters/FilterBy\";\nimport {UserContext} from \"../../context/UserContext\";\nimport { CardHomeStudio } from '../../pages/Home/CardHomeStudio';\n\n\nconst ExperiencesListWithStatus = (props) => {\n const t = useTranslate();\n const [data, setData] = useState([]);\n const {setNavLinks} = useContext(UserContext);\n const formatName = (type) => {\n switch (type) {\n case 'published':\n return t('published');\n case 'unpublished':\n return t('unpublished');\n case 'in_revision':\n return t('in_revision');\n case 'rejected':\n return t('rejected');\n default:\n return 'N / A';\n }\n };\n\n const getExperiencesWithStatus = async () => {\n const response = await ExperienceService.listByStatuses();\n const experiencesWithSingleStatus = response[props.type] ? response[props.type] : [];\n setData(experiencesWithSingleStatus)\n };\n\n const context = useContext(AppContext);\n useEffect(() => {\n setNavLinks([{\n id: '',\n name: formatName(props.type),\n tab: 'status'\n }]);\n context.setPage({\n name: `Experiencias ${formatName(props.type)}`,\n hideFilters: false,\n hideStatusFilter: true,\n refetch: getExperiencesWithStatus()\n });\n getExperiencesWithStatus();\n }, []);\n\n\n return (\n \n {result => (\n
\n \n {result.map(exp => )}\n
\n )}\n
\n );\n};\n\nexport default ExperiencesListWithStatus;","import React, {useEffect} from 'react';\nimport {Auth} from \"aws-amplify\";\nimport {deleteCookie} from \"../../utils/cookie\";\n\nconst Logout = () => {\n\n useEffect( () => {\n const logout = async () => {\n await Auth.signOut();\n deleteCookie();\n window.location.href = '/';\n };\n logout();\n }, []);\n return (\n
\n \n
\n );\n};\n\nexport default Logout;","import React, {Fragment, useContext, useEffect, useState} from 'react';\nimport AppContext from \"../../components/app/AppContext\";\nimport {useTranslate} from \"react-polyglot\";\nimport campaignService from \"../../services/Campaign\";\nimport CampaignService from \"../../services/Campaign\";\nimport {navigate} from \"@reach/router\";\nimport {UserContext} from \"../../context/UserContext\";\nimport UserService from \"../../services/User\";\nimport CampaignListItem from \"./campaignListItem\";\nimport FilterBy from \"../../components/Filters/FilterBy\";\nimport Loading from \"../../components/loading\";\nimport AlertDialog from \"../../components/general/AlertDialog\";\nimport MigrateUserProjectDialog from \"../../components/actionsDialog/MigrateUserProjectDialog\";\nimport {MigrateUserDialogContext} from \"../../context/MigrateExperienceUserDialogContext\";\nimport {QRDialogContext} from \"../../context/QRDialogContext\";\nimport {ChangeTargetDialogContext} from \"../../context/ChangeTargetDialogContext\";\nimport {ChangeNameDialogContext} from \"../../context/ChangeNameDialogContext\";\nimport { CardHomeStudio } from '../../pages/Home/CardHomeStudio';\nimport ShowLoadingContext from '../../context/ShowLoadingContext';\n\nconst HomeUserAndCampaigns = () => {\n const context = useContext(AppContext);\n const t = useTranslate();\n const [campaigns, setCampaigns] = useState([]);\n const {userData, setUserData, navLinks, setNavLinks} = useContext(UserContext);\n const [openAlertDialog, setOpenAlertDialog] = useState(false);\n const [openMigrateDialog, setOpenMigrateDialog] = useState(false);\n const [selectedCampaign, setSelectedCampaign] = useState(null);\n\n const { showLoading, setShowLoading, overlayStyle } = useContext(ShowLoadingContext)\n\n \n\n const getCampaignId = () => {\n let paths = window.location.pathname.split('/');\n let campaignId = paths.length > 1 ? paths[4] : '';\n let hasCampaign = paths.length > 1 && paths[3] === 'project';\n if (hasCampaign) {\n return campaignId\n }\n return ''\n };\n const getUserIdFromUrl = () => {\n let paths = window.location.pathname.split('/');\n let userId = paths.length > 1 ? paths[2] : '';\n let hasUser = paths.length > 1 && paths[1] === 'user';\n if (hasUser) {\n return userId\n }\n return ''\n };\n\n const [data, setData] = useState({\n id: getUserIdFromUrl(),\n project: getCampaignId(),\n });\n const [campaign, setCampaign] = useState({});\n const openUserMigrationDialog = () => {\n setOpenMigrateDialog(true);\n };\n const openOnBoarding = () => {\n navigate('/onboarding')\n };\n\n\n useEffect(() => {\n context.setPage({\n name: t('pages.campaigns.project'),\n refetch: fetchData\n });\n if (data.id) {\n const getData = async () => {\n let userResponse = await UserService.getUser(parseInt(data.id));\n let user = userResponse;\n setUserData({id: user.id, username: user.email});\n if (data.id && data.project) {\n campaignService.get(data.project, data.id).then((res) => {\n setCampaign(res);\n context.setPage({\n projectOpened: true,\n name: `${t('pages.campaign.projectBreadcrumb')} ${res.name}`,\n });\n setNavLinks([{id: data.id, name: user.email, tab: 'user'}, {\n id: res.id,\n name: res.name,\n tab: 'project'\n }]);\n \n });\n } else {\n fetchData();\n }\n };\n getData();\n }\n }, []);\n\n async function fetchData() {\n try {\n setShowLoading(true)\n let campaignsResponse = [];\n campaignsResponse = await campaignService.listWithExperiences(data.id);\n setCampaigns(campaignsResponse.data);\n setShowLoading(false)\n } catch (error) {\n openOnBoarding();\n }\n }\n\n const onMigrate = (selectedUser) => {\n context.setPage({\n loading: true\n });\n CampaignService.migrateCampaign(selectedCampaign, selectedUser)\n .then((res) => {\n fetchData();\n context.setPage({\n loading: false\n });\n context.page.refetch();\n }).catch((e) => {\n context.setPage({\n loading: false\n });\n setOpenMigrateDialog(false);\n setOpenAlertDialog(true);\n context.page.refetch();\n });\n };\n\n function experiences() {\n return campaign.experiences ? campaign.experiences : [];\n }\n const {MigrationUserExperienceDialog} = useContext(MigrateUserDialogContext);\n const {QRDialog} = useContext(QRDialogContext);\n const {ChangeTargetDialog} = useContext(ChangeTargetDialogContext);\n const {\n ChangeNameDialogComponent\n } = useContext(ChangeNameDialogContext);\n const [loading, setLoading] = useState(false);\n return (\n \n\n {showLoading && \n \n }\n \n \n \n {QRDialog()}\n {MigrationUserExperienceDialog()}\n {ChangeTargetDialog()}\n {ChangeNameDialogComponent()}\n { data.project ?
\n {\n \n {result => (\n result.map((exp, index) => {\n return (\n \n )\n\n })\n )}\n \n }\n
\n : \n \n {campaignsFiltered => (\n
\n
\n {campaignsFiltered && campaignsFiltered.map(camp =>\n {\n fetchData();\n }}/>\n )}\n
\n
\n )}\n
\n
}\n
\n )\n\n};\n\nexport default HomeUserAndCampaigns;","import { Grid } from '@mui/material';\nimport React, {Fragment, useState} from 'react';\nimport { useTranslate } from 'react-polyglot';\nimport './Previsualiser.css'\n\n\nfunction Previsualiser(props) {\n const t = useTranslate();\n\n const [previsualiserType, setPrevisualiserType] = useState(\"desktop\");\n return (\n \n
\n {previsualiserType == \"desktop\"? \n
\n
\n {props.children}\n
\n
:\n
\n
\n {props.children}\n
\n
\n }\n
\n
{setPrevisualiserType(\"desktop\")}}>\n {t(\"overlays.visualiser.desktop\")}\n
\n
{setPrevisualiserType(\"mobile\")}}>\n {t(\"overlays.visualiser.mobile\")}\n
\n
\n
\n
\n );\n}\n\nexport default Previsualiser;\n","import React, {Fragment} from 'react';\nimport { TextField, FormControl,FormGroup,InputLabel, Select,MenuItem, Slider, Grid} from '@mui/material'; \nimport './Previsualiser.css'\nimport { useTranslate } from 'react-polyglot';\n\n\nfunction HeightForm(props) {\n const { onChange } = props;\n const t = useTranslate();\n const optionsHeigthType= [\n {label: \"px\", value : \"px\"},\n {label: \"%\", value : \"%\"},\n //Dejo comentadas esas medidas, por si las quieren en un futuro\n // {label: \"rem\", value : \"rem\"},\n // {label: \"em\", value : \"em\"},\n // {label: \"vh\", value : \"vh\"},\n ]\n\n return (\n \n {/* \n \n \n {optionsHeigthType.map(component => {\n return {component.label}\n })}\n \n \n */}\n \n \n {/* */}\n \n \n \n );\n}\n\nexport default HeightForm;\n","import React, {Fragment, useState} from 'react';\nimport { TextField, FormControl,FormGroup,InputLabel, Select,MenuItem, Grid} from '@mui/material';\n \nimport './Previsualiser.css'\nimport { useTranslate } from 'react-polyglot';\n\n\nfunction WidthForm(props) {\n const t = useTranslate();\n const { onChange } = props;\n\n const optionsHeigthType= [\n {label: \"px\", value : \"px\"},\n {label: \"%\", value : \"%\"},\n ]\n\n return (\n \n {/* \n \n \n {optionsHeigthType.map(component => {\n return {component.label}\n })}\n \n \n */}\n \n \n {/* */}\n \n \n \n );\n}\n\nexport default WidthForm;\n","\nexport const config = {\n version : \"1.6.4\"\n}\n\nexport const getLibaryScript = () => {\n const libaryScript = `\n \n \n `\n return libaryScript;\n}\n\n\nexport const hexToRGB = (hex, alpha) => {\n var r = parseInt(hex.slice(1, 3), 16),\n g = parseInt(hex.slice(3, 5), 16),\n b = parseInt(hex.slice(5, 7), 16);\n\n if (alpha) {\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + alpha + \")\";\n } else {\n return \"rgb(\" + r + \", \" + g + \", \" + b + \")\";\n }\n}","import React, {createContext, useState} from 'react';\nimport { useTranslate } from 'react-polyglot';\nexport const OverlaysContext = createContext();\n\nconst OverlaysProvider = (props) => {\n \n const t = useTranslate();\n const [overlay, setOverlay] = useState ()\n const [variableSelected, setVariableSelected] = useState()\n return (\n {props.children}\n \n );\n};\n\nexport default OverlaysProvider;\n","import React, {Fragment, useState} from 'react';\nimport { useTranslate } from 'react-polyglot';\n\nimport {Button,Tooltip,Checkbox,FormControlLabel,Modal,Typography,Box,InputLabel, Select,MenuItem} from '@mui/material';\nimport { Icon } from 'rsuite';\nimport {getLibaryScript} from './WebComponentsUtils'\nimport './WebComponentModal.css'\n\n\nfunction WebComponentModal(props) {\n\n const t = useTranslate()\n \n //si es true, incluye el