{"version":3,"sources":["config/channelStatus.js","context/MainContext.js","ui/ModalCloseButton/ModalCloseButton.js","components/AdamModal/AdamModal.js","components/Input/Input.js","components/Logo/Logo.js","ui/Button/Button.js","ui/Container/Container.js","ui/Row/Row.js","ui/Spin/Spin.js","hoc/wrapSection.js","ui/AspectRatio/AspectRatio.js","components/SpeakerBioModal/SpeakerBioModal.js","components/Speakers/Speakers.js","components/Agenda/Agenda.js","components/FaqsModal/FaqsModal.js","hooks/useFaqModal.js","components/Contacts/Contacts.js","components/Footer/Footer.js","components/Header/Header.js","ui/LogoutButton/LogoutButton.js","api/functions.js","components/EvaluationFormModal/EvaluationFormModal.js","components/ForceEvaluationFormModal/ForceEvaluationFormModal.js","components/Navbar/Navbar.js","config/registrationFlows.js","hooks/useRegistrtionFlow.js","ui/LightText/LightText.js","components/PreRegistrationModal/PreRegistrationModal.js","components/EpisodesListEmptyModal/EpisodesListEmptyModal.js","components/Form/Form.js","components/ApIdForumCovid19Form/ApIdForumCovid19Form.js","hooks/useThreeStatesInternal.js","components/ApidGnWebinarRegistrationForm/ApidGnWebinarRegistrationForm.js","hooks/useRegistrtionForm.js","components/ApIdGyn2023Form/ApIdGyn2023Form.js","components/ApidRegistrationForm/ApidRegistrationForm.js","components/Eurogin2021RegistrationForm/Eurogin2021RegistrationForm.js","components/Form/EdizioniDmRegistrationForm/EdizioniDmRegistrationForm.js","components/Form/MSDApNiasRegistrationForm/MSDApNiasBRegistrationForm.js","components/Form/MSDApNiasRegistrationForm/MSDApNiasRegistrationForm.js","components/Form/MSDApNmbUpdates2021RegistrationForm/MSDApNmbUpdates2021RegistrationForm.js","components/Form/MSDAPSmartMeetingRegistrationForm/MSDAPSmartMeetingRegistrationForm.js","components/Form/MSDCovidSassRegistrationForm/MSDCovidSassRegistrationForm.js","components/FormIsNotValidModal/FormIsNotValidModal.js","components/Form/MSDCtioRegistrationForm.js","components/Form/MSDGlobalCmvRegistrationForm/MSDGlobalCmvRegistrationForm.js","components/Form/MSDGlobalHpv2021RegistrationForm/MSDGlobalHpv2021RegistrationForm.js","components/Form/MSDHncrResearchForum2022RegistrationForm/MSDHncrResearchForum2022RegistrationForm.js","components/Form/MSDIdForum2021RegistrationForm/MSDIdForum2021RegistrationForm.js","components/Form/MSDJcapMatchRegistrationForm/MSDJcapMatchRegistrationForm.js","components/Form/MSDJCAPRegistrationForm/MSDJCAPRegistrationForm.js","components/Form/OrganonVirtualSassRegistrationForm/OrganonVirtualSassRegistrationForm.js","components/MsdApidForumCovid19/MsdApidForumCovid19.js","components/MSDHPVRegistrationForm/MSDHPVRegistrationForm.js","components/MSDVaccinesAcademyRegistrationForm/MSDVaccinesAcademyRegistrationForm.js","components/MSDVaccinesAcademyRegistrationForm2022/MSDVaccinesAcademyRegistrationForm2022.js","components/RegistrationForm/RegistrationForm.js","components/SpecialRegistrationForm/SpecialRegistrationForm.js","components/Form/ApLungCancer2023Form/ApLungCancer2023Form.js","components/StreamChangedModal/StreamChangedModal.js","components/Form/ApLungCancer2023Form/ApLungCancer2023FormVer2.js","components/MsdPedVaccines2023/MsdPedVaccines2023.js","components/Form/IsploraWebinarRegistrationForm/IsploraWebinarRegistrationForm.js","components/Form/GamRegistrationForm/GamRegistrationForm.js","components/Registration/Registration.js","components/TheoPlayer/TheoPlayer.js","components/FakePlayer/FakePlayer.js","utils/PusherManager.js","components/PlayerBox/PlayerBox.js","utils/ScrollToTop/ScrollToTop.js","ui/PageBody/PageBody.js","components/DemoPlayer/DemoPlayer.js","components/EventTitle/EventTitle.js","components/LoginModal/LoginModal.js","components/SlidoIframe/SlidoIframe.js","components/PlayerSidebar/PlayerSidebar.js","components/DefaultPage/DefaultPage.js","components/Maintenance/Maintenance.js","ui/MainContainer/MainContainer.js","components/ThankYouRegistrationModal/ThankYouRegistrationModal.js","components/AdamCookieConsent/AdamCookieConsent.js","components/FormErrorsModal/FormErrorsModal.js","forms/QaAUserForm.js","components/QandA/QandA.js","forms/EditQaAForm.js","components/QandAManager/QandAManager.js","components/QandASpeaker/QandASpeaker.js","ui/AgendaAccordion/AgendaAccordion.js","components/EpisodeTitle/EpisodeTitle.js","components/EpisodeDetails/EpisodeDetails.js","ui/InitialModalBanner/InitialModalBanner.js","components/InitialModal/InitialModal.js","ui/CountDown/CountDown.js","components/VirtualWorldModal/VirtualWorldModal.js","components/IframeContent/IframeContent.js","components/AlreadyLoggedInModal/AlreadyLoggedInModal.js","components/EvaluationForm/EvaluationForm.js","config/registrationModes.js","components/EpisodeTitle/EpisodeTitleWithNestedAgenda.js","components/EpisodeTitle/NestedAgendaTitle.js","components/EpisodeDetails/NestedAgendaDetails.js","components/EpisodeDetails/EpisodeDetailsWithNestedAgenda.js","components/WaitingRoomModal/WaitingRoomModal.js","ui/AdamOverlay/AdamOverlay.js","ui/ChannelStatusIcon/ChannelStatusIcon.js","components/SelectEpisodeCard/SelectEpisodeCard.js","components/SelectEpisodeOverlay/SelectEpisodeOverlay.js","components/ErrorPageWithReload/ErrorPageWithReload.js","components/App/Adam.js","App.js","reportWebVitals.js","index.js","utils/functions.js","bootstrap.js"],"names":["UNKNOWN","PRE_LIVE","LIVE","BUFFER","BYE","PRE_VOD","VOD","POST_VOD","MainContext","React","createContext","ModalCloseButton","props","themeContext","useContext","ThemeContext","posotion","position","Btn","styled","div","modalsCloseButtonColor","onClick","AdamModal","context","useState","modalOpen","setModalOpen","setCurrentContent","useEffect","content","open","onModalRequestClose","onClose","customStyles","top","left","right","bottom","marginRight","width","small","transform","zIndex","padding","overflow","border","shadowColor","secondaryColor","logoUrl","window","_","get","logo","src","className","alt","siteTitle","footerContent","getContents","isOpen","onRequestClose","style","contentLabel","shouldCloseOnOverlayClick","shouldCloseOnEsc","hideHeader","classNames","headerClass","fluid","fluidHeader","transparent","transparentHeader","hideCloseButton","maxHeight","dangerouslySetInnerHTML","__html","Input","currentContent","pluckIds","selectedList","map","item","id","inputElement","name","cleanProps","key","labelHtml","invalidText","elementType","register","control","labelOn","labelOff","selectedItem","popupContent","original","nowrap","defaultClassName","placeholder","required","hide_asterisk","invalid","e","onChange","type","value","checked","options","index","label","classNamePrefix","onSelect","onRemove","removedItem","asterisk","modal","cleaned","cleanCheckboxLabel","before","linkContent","after","modalContents","fontSize","lineHeight","invalidFeedback","class","htmlFor","Logo","forwardRef","ref","sectionName","mediaHeaderLogoDesktop","url","Button","As","as","buttonType","outline","btnClass","btn","size","children","Container","containerClassName","classnames","Row","relative","Spin","wrapSection","WrappedComponent","email","setEmail","hideIfEmpty","mediaBackgroundDesktop","upperFirst","backgroundRef","useRef","videoSource","defaultStyle","display","maxWidth","backgroundColor","backgroundImage","hasDesktopVideo","background","mime","autoplay","muted","loop","loginForm","isAppView","is2ColsView","sectionMainTitle","mainTitle","sectionIntro","intro","sectionTitle","hideTitle","hideSectionIntro","title","hasLogo","loginFormTitle","hasLoginForm","target","role","onLoginClicked","loginWaiting","loginErrors","join","sectionContent","sectionTheme","getThemeConfig","cols","sectionClass","colRules","fullWidth","mobile","tablet","desktop","forceContainer","fluidContainer","AspectRatio","height","setHeight","wrapper","setNewHeight","addEventListener","isEmpty","_ratio","ratio","split","current","offsetWidth","SpeakerBioModal","textCentered","img","media_url","firstname","lastname","description","SpeakerCard","expanded","setExpanded","visible","setVisible","isGridLayout","grid","setTimeout","timeout","openPopupButton","CSSTransition","unmountOnExit","in","openAccordionButton","Speakers","hiddenItems","layout","theme","speakers","undefined","items","length","cards","loadingContents","filter","includes","pair","AgendaRow","allowNested","groupedSeakers","hideAgendaDatetime","sidebar","showDate","setShowDate","canShowDate","channelStatus","episode","nestedAgenda","showNestedAgenda","vertical","subtitle","speechTime","has_future_live_events","localTime","start_at","timezone","format","add","duration","time","isZigZagTheme","gridStyle","speaker","speakerIndex","AgendaDay","inverted","Day","h3","primaryColor","agendaTheme","hideDay","indexDay","eventDayCOntent","day","tzAbbr","eventDay","Agenda","agenda","grouped","groupBy","agendaDays","Object","keys","forEach","push","event","FaqItem","setOpen","question","answer","FaqsModal","faqs","setFaqsModalOpen","useFaqModal","faqsModalOpen","_faqMOdal","val","_openFaqModal","_closeFaqModal","Contacts","cleanFaqPopup","row","Footer","footerContentColor","footerTextColor","tertiaryColor","poweredByColor","mediaFooterLogoDesktop","footerDynamicContent","color","Header","useHistory","HeaderTitle","headerIntroColor","HeaderSubtitle","config","registerButton","emailBoxLogin","LogoutButton","data-toggle","aria-haspopup","aria-expanded","mainButtonContent","onLogoutClicked","logoutButtonContent","client","axios","buildQuery","queryParams","encodeURIComponent","login","params","a","post","res","data","logout","forceLogout","me","query","detectEvent","eventPreview","getSpeakers","country","language","episodeId","internal","lang_id","episode_id","is_internal","country_id","getAgenda","getEligibleEpisodes","registration_mode","selectedEpisodes","selectedEpisodeCategories","all","episodes","episode_categories_id","getLegals","getPlayerSources","loadQuestions","markQuestionAsRead","questionId","deleteQuestion","delete","sendEvaluationFormAnswers","playerWhebHook","playerInsight","selectEpisodeWebHook","setSubscriberChannelPresence","channelId","channel_id","resetSubscriberChannelPresence","EvaluationFormModal","setEpisode","loading","setLoading","answers","setAnswers","requiredAnswers","setRequiredAnswers","formFeedback","setFormFeedback","formErrors","setFormErrors","answered","setAnswered","user","userOpenQuestions","userEpisodes","is_evaluation_open","questionsCategories","isRequired","sendAnswers","ff","concat","setEvaluationFormAnswered","newErrors","close","closeEvaluartionFormModal","alreadyAnsweredMessage","cursor","evaluation_form_title","category","questions","evaluationquestions","q","consoleLog","question_type","is_radio","option","is_required","max_allowed_choices","displayValue","sel","showCheckbox","closeOnSelect","selectionLimit","k","legend","disabled","answersResults","questionsCOunt","cat","buttonIsDisabled","_episode","_answered","ForceEvaluationFormModal","onConfirm","okButtonText","koButtonText","Navbar","location","useLocation","logged","setLogged","evaluationFormAnswered","evaluartionFormModalOpen","setEvaluartionFormModalOpen","forceEvaluationFormModalOpen","setForceEvaluationFormModalOpen","navbar","contents","evaluationFormEnabled","setNavHeight","checkScrolled","document","hasUnansweredQuestions","isVirtualWorld","isCtio2022","pathname","scrollY","classList","remove","newHeight","offsetHeight","execLogout","Nav","nav","navbarBackgroundColor","defaultBackgroundColor","logXButton","now","utc","force_ef_start_at","force_ef_finish_at","isSameOrAfter","isSameOrBefore","loggingOut","setLoginModalOpen","changeEpisodeButton","values","has_future_events","setSelectEpisodeModalOpen","faqButton","onFaqButtonClicked","languagesList","languagesButton","toUpperCase","lang","setLanguage","getEvaluationQuestionsCount","categories","element","evaluationButton","faqMOdal","onEvaluationFormModalClose","home","isPreview","buttonSlots","0","10","20","30","40","50","60","70","80","90","100","buttonSlotsKeys","navbar_custom_buttons_configuration","alwaysVisible","default_lang","mapObj","getAuthToken","href","replace","matched","btnElement","buttons","reverse","to","data-target","aria-controls","aria-label","flexDirection","MSD_CTIO","useRegistrtionFlow","_isMsdCtio2022","LightText","El","PreRegistrationModal","eventTitle","yesCorrect","noTakeMeBack","emailAddress","onCancel","EpisodesListEmptyModal","registrationMode","Form","setValues","errors","setErrors","touched","setTouched","itemId","setItemId","saving","setSaving","setSavingSuccess","setSavingErrors","sentWithErrors","setSentWithErrors","validated","setValidated","setRequired","preRegistrationModalOpen","setPreRegistrationModalOpen","episodesListEmptyModalOpen","setEpisodesListEmptyModalOpen","blockTouched","fields","getRequired","defaultParams","onTouched","onEmailConfirmed","modalOnEmptyEpisodesList","onSubmit","forceParams","preventDefault","onSavingChange","cleanValues","put","endpoint","checkMetas","meta","setAutoId","console","error","openFormErrorsModal","clearStatus","forceValues","setValue","getValue","clearErrors","touch","attributes","getFields","section","keyPostfix","itemProps","skipTouch","selectedItems","handleChange","createErrorMessage","defaultValue","onFormSubmit","submitDisabled","onSubmitDisabled","confirmBeforeSubmit","blur","openConfirmationPopup","isButton","forceEnableLoginButton","disableSubmit","buttonContent","isRegistration","submitButtonLabel","messages","requiredFields","disableRequiredHelper","footer","footerHelp","goToLoginForm","abortButton","onAbortClicked","deleteButton","onDeleteClicked","updateButton","onUpdateClicked","confirmed","hideSubmitButton","inline","preRegsitrationForm","checkYourEmailMessage","episodesListEmptyModal","form","disableValidation","output","timeouts","ApIdForumCovid19Form","defaultValues","setDefaultValues","countries","allCountries","newRequiredTos","openEpisodes","has_internal","parseInt","capitalize","languageField","legals","field_name","checkbox_label","registrationFormLogoDesktop","formatRegistrationFooter","getEndpoint","method","onRegistred","setCountry","setInternal","reqs","disable","useThreeStatesInternal","initial","setInitial","log","isInternalField","ApidGnWebinarRegistrationForm","useRegistrtionForm","version","setVersion","previousValues","setPreviousValues","multiselectFields","setRegistrationMode","setCountryOfWork","setSelectedEpisodeCategories","setSelectedEpisodes","setSelectedStreamId","mediaRegistrationFormLogoDesktop","_fields","indexOf","getSpecialtyOptions","langId","default_language","specialties","registration_form_specialties","updateValues","extraProps","formValues","previousFormValues","ApIdGyn2023Form","specialtiesTranslations","ApidRegistrationForm","Eurogin2021RegistrationForm","EdizioniDmRegistrationForm","countriesList","countryField","MSDApNiasBRegistrationForm","MSDApNiasRegistrationForm","code","MSDApNmbUpdates2021RegistrationForm","MSDAPSmartMeetingRegistrationForm","MSDCovidSassRegistrationForm","FormIsNotValidModal","marginTop","MSDCtioRegistrationForm","is_internal_options","find","registration_flow","registration_mode_options","is_subscriptions_open","dropdown_label","title_default","MSDGlobalCmvRegistrationForm","MSDGlobalHpv2021RegistrationForm","MSDHncrResearchForum2022RegistrationForm","MSDIdForum2021RegistrationForm","MSDJcapMatchRegistrationForm","MSDJCAPRegistrationForm","OrganonVirtualSassRegistrationForm","isMulti","MsdApidForumCovid19","MSDHPVRegistrationForm","MSDVaccinesAcademyRegistrationForm","MSDVaccinesAcademyRegistrationForm2022","RegistrationForm","SpecialRegistrationForm","ApLungCancer2023Form","StreamChangedModal","ApLungCancer2023FormVer2","selectedStreamId","stream_id","openStreamChangedModal","getStreamSelect","streamChangedModalOpen","closeStreamChangedModal","MsdPedVaccines2023","IsploraWebinarRegistrationForm","GamRegistrationForm","Registration","allEpisodes","formProps","force_hide_registration_form","registered","TheoPlayer","defaultLang","forceLiveUi","hideControls","hidePip","onPlay","onTimeUpdate","onPause","onSeeking","onSeeked","onPlaying","onReadyStateChange","onAudioTrackChange","onCcTrackChange","player","setPlayer","source","setSource","_el","_wrapper","updateTextTracksPosition","htmlCollection","getElementsByClassName","contains","_player","librariesLoaded","play","MutationObserver","observe","attributeFilter","childList","characterData","handleInsightChange","t","paused","isSubtitle","kind","theoplayerOptions","libraryLocation","license","process","REACT_APP_PIP_ENABLED","pip","THEOplayer","Player","preload","status","demo","handlePlayerPlaying","handlePlayerPause","audioIndex","audioTracks","track","enabled","handleReadyStateChange","textTracks","currentTextTrack","mode","onPLayerReady","useMemo","wrapperClassName","FakePlayer","setPusherChannel","pusherchannel","playerStatus","liveLocked","moment","vodLocked","playerObject","connectionStatus","channelStatusCode","timeOut","logId","playerStarterTime","playerCurrentTime","initialized","PlayerBox","history","setStatus","playList","setPlayList","alternativeSources","setAleternativeSources","ccSources","setCcSources","formattedAlternativeSources","setFormattedAleternativeSources","selectedAlternativeSource","setSelectedAlternativeSource","episodeLiveStartedAt","setEpisodeLiveStartedAt","setChannelId","channel","setChannel","audioTrackLangId","setAudioTrackLangId","ccTrackLangId","setCcTrackLangId","playerSource","setPlayerSource","playerReadyState","setPlayerReadyState","insights","setInsights","isFakeLive","setIsFakeLive","hidePlayer","setHidePlayer","channelsStatus","translateChannelStatus","lastEvent","handleChannelSubscription","action","handleConnectionChange","removeEventListener","Pusher","connection","bind","pause","PusherManager","JSON","stringify","actions","newChannelStatus","changeChannelStatus","newValue","newSource","newAlternativeSources","channel_sources","newEpisodeLiveStartedAt","episode_live_started_at","keep_current_time","newCCSources","closed_captions","subscribeToChannel","eventId","bind_global","globalCallback","unsubscribeFromChannel","_episodeId","loadPlayList","handleLastPauseLog","audio_lang_id","cc_lang_id","channel_source_id","onInsightChange","updateSource","sources","getTextTrack","tracks","timeInt","localStorage","getItem","getLocalStorageLastPauseFieldName","setItem","getLocalStorageDurationFieldName","currentTime","alert","subscribe","unsubscribe","eventName","setChannelStatus","sendWebHook","force","isNaN","Promise","resolve","active","is_active","clearTimeout","readyState","is_fake_live","liveStartedAt","live_started_at","diff","startFrom","getLocalStorageOffsetFieldName","calculatedPlayerTime","buffer","async","log_id","defaultCcConfig","default","srclang","alternativeSourcesSelector","alterantiveSourceChanged","playerBox","playerBoxClassNames","ScrollToTop","scrollTo","PageBody","isCol","narrow","DemoPlayer","EventTitle","speakersLayoutCols","titleLayoutCols","agendaLayoutCols","subSubTitleRemoveMargin","headerTitle","setHeaderTitleHeight","rightColLogo","showRightColLogo","multiepisode","episodesDropdown","eventHeaderWidthLg","forceDisable","dropDownEpisodes","selectedEpisode","selectable","hideDropDown","onEpisodeChange","formattedEpisodeCategories","titleContent","eventSubSubTitle","eventSubTitle","eventLive","eventVod","maxChannelDurationInHours","maxChannelDuration","showVodDurationInDays","eventIntro","eventLiveTitle","eventVodTitle","upTo","hours","eventNotes","LoginModal","hideChairmanLoginButton","password","setPassword","isChairman","setIsChairman","alreadyLoggedError","onForceLogoutClicked","formTitle","SlidoIframe","minHeight","PlayerSidebar","mainRow","selectedSidebarTab","setSelectedSidebarTab","offsetTop","setOffsetTop","activeTabs","setActiveTabs","tabsDropdown","changePaddingTop","changePaddingRight","newactiveTabs","playertabs","tab","channel_status","slidoUrl","slido_url","infoTabTitle","agendaTitle","speakersTitle","tabsContent","infoTabContent","hidden_speakers_cards","pollingTitle","dropdown_title","select","sidebarTabChanged","DefaultPage","fullHeight","message","Maintenance","maintenanceMessage","MainContainer","ThankYouRegistrationModal","setTankyouRegistrationModalOpen","AdamCookieConsent","ccContent","ccCheckboxLabel","textDecoration","buttonText","ccButtonLabel","buttonClasses","cookieName","debug","buttonStyle","cookieConsentButtonTextColor","cookieConsentButtonBorderColor","cookieConsentButtonBackgroundColor","expires","overlay","containerClasses","FormErrorsModal","closeFormErrorsModal","QaAUserForm","handleCurrentChannel","handleCurrentChannelTag","submitted","setSubmitted","currentChannel","setCurrentChannel","currentChannelTag","setCurrentChannelTag","channels","contantFieldName","chairMan","episodeQaaCategories","categorySelectOptions","toLowerCase","QandA","formEnabled","setFormEnabled","_setQaAEnabled","checkValue","_getQaAEnabled","qaa_enabled","setQaAEnabled","getQaAEnabled","isIframe","EditQaAForm","edited_content","original_content","onAbort","onDelete","onUpdate","QaACardSidebar","postFix","sent","senderIsAttendant","originalContent","editedContent","edited","senderName","editedLabel","QaACardEditable","QandAManager","loadedQuestions","setLoadedQuestions","pushedQuestions","setPushedQuestions","sentQuestions","setSentQuestions","editableQuestions","setEditableQuestions","editableQuestionsId","setEditableQuestionsId","currentChannelId","setCurrentChannelId","newLoadedQuestions","_loadQuestions","initPusher","tag","forwarded","res2","addNewQuestionToModerate","unshift","removeFromPage","newList","newListId","removeFromEditableList","addToSentList","deleted","newSentList","deleteSelectedQuestion","loadedQuestionsFiltered","uniqBy","addToEditableList","newValues","confirm","openConfirm","markAsRead","QandASpeaker","categoryFilter","setCategoryFilter","addNewQuestionToAnswer","AgendaAccordion","removeMargin","removeShadow","EpisodeTitle","linesOrder","liveStartDateDayName","vodStartDateDayName","liveStartDateTimeFormatted","liveStartDateFormatted","vodStartDateFormatted","interanlDatesBoxClassName","interanlDetailssBoxClassName","episodeDate","dateOnNewLine","episodeTitle","firstRow","secondRow","popup","hideDates","EpisodeDetails","expandable","accordionTitleIcon","toggle","openIcon","closeIcon","accordion","detailsClassname","onToggleAccordionClicked","titleLinesOrder","InitialModalBanner","icon","InitialModal","showMainlogoInitialPopup","bannersContents","initialPopupBox1Title","initialPopupBox2Title","initialPopupBox3Title","initialPopupBox4Title","banners","showBannersInitialPopup","showTitleInitialPopup","subSubTitle","showLogoInitialPopup","showEpisodesInitialPopup","initialPopupFooter","showDefaultheaderInitialPopup","CountDown","timestamp","setTimestamp","subtract","dateTime","unix","setInterval","onZero","seconds","Math","abs","minutes","hrs","days","VirtualWorldModal","virtual_world_start_at","openMessage","virtual_world_url","vwUrl","assign","Date","client_name","getFullYear","IframeContent","slido","goToPlayer","hideQaAIframe","showSlido","AlreadyLoggedInModal","closeAlreadyLoggedInModal","EvaluationForm","episode_categories","MSD_CTIO_A","MSD_CTIO_B","MSD_CTIO_C","EpisodeTitleWithNestedAgenda","NestedAgendaTitle","NestedAgendaDetails","liveMode","setLiveMode","newLiveMode","getChildren","hasChildren","child","EpisodeDetailsWithNestedAgenda","getEventVod","getChannelsDuration","WaitingRoomModal","playing","setPlaying","audio","waitingRoom","jingle_media","then","catch","closeWaitingRoomModal","AdamOverlay","overlayOpen","setOverlayOpen","overlayClassName","BlinkingIcon","ChannelStatusIcon","literalStatus","SelectEpisodeCard","onEpisodeSelected","borderColor","count","setPlayerStatus","playerChannel","setPlayerChannel","getPlaylist","getPlaylistResponse","playlist","has_future_vod_events","SelectEpisodeOverlay","ErrorPageWithReload","reloadAfter","countDown","setCountDown","reload","originalEvent","Adam","URLSearchParams","search","setEvent","fnf","setFnf","countryOfWork","sessionStorage","allowChangeContents","setAllowChangeContents","setEpisodeId","setIsPreview","setIsVirtualWorld","forceEF","setForceEF","setUser","setRegistered","setLegals","maintenance","setMaintenance","setLoginErrors","setLoginWaiting","setTheme","setLoadingContents","navHeight","headerTitleHeight","loginModalOpen","initialModalOpen","setInitialModalOpen","initialModalInit","setInitialModalInit","selectEpisodeModalOpen","tankyouRegistrationModalOpen","setLoggingOut","setAgenda","setSpeakers","setFaqs","setGoToPlayer","cookieConsent","setCookieConsent","formErrorsModalOpen","setFormErrorsModalOpen","virtualWorldModalOpen","setVirtualWorldModalOpen","setMode","slidoIframe","setSlidoIframe","setHideQaAIframe","isLogout","setIsLogout","setAlreadyLoggedError","alreadyLoggedInModalOpen","setAlreadyLoggedInModalOpen","setStreamChangedModalOpen","waitingRoomModalOpen","setWaitingRoomModalOpen","episodeCategories","setEpisodeCategories","setAllEpisodes","openQaAManager","setOpenQaAManager","setPusherConnection","errorWithReload","setErrorWithReload","setContents","detectIsVirtualWorld","forceEpisode","forcedEpisodeId","loadEventParams","ln","loadEvent","loadTranslatable","loadByCountry","hasVisrtualWorld","has_virtual_world","userIsAttendant","onPusherConnected","onPusherUnavailable","onPusherFailed","setUserData","openInitialModal","episodesList","epi","changeEpisode","subscribeToEpisodeChannel","changeLanguage","episodeChannel","is_player_active","is_live_open","presenceChannel","is_virtualworld_active","goToVt","userEpisodesWithFutureEvents","waitingRoomIsOpen","testEpisode","is_open","$episodeId","episodeResponse","showInitialPopup","getIam","forceEpisodeId","loadFont","fontFamily","font","createElement","rel","head","appendChild","kebabCase","accept","subscription","acceptUserFromWaitingRoom","loadData","args","loginParams","auto","iframe","userData","loadUserData","newLang","preview","loadContents","newContens","loadLegals","newLegals","loadAgenda","loadSpeakers","setWebsiteContents","newEpisode","saveLegals","loadEligibleEpisodes","epiId","eventEpisodes","episodeIndex","findIndex","filteredEpisodes","filteredEpisodesId","token","navigator","previewParams","domain","hostname","defaults","baseURL","locale","event_countries","REACT_APP_SET_DEFAULT_COUNTRY","newContents","cleanContents","ctio2022","loadTheme","initializeGTM","firstAvailableEpisode","shift","defaultEpisode","newTheme","defaultFontFamily","resStyles","resMedia","camelCase","getElementById","resContents","resLegals","setToken","setAuthToken","headers","common","alreadyLogged","forced","logoutUrl","inIframe","concurrent","direct","onCountryChange","changeCountry","onCountryOfWorkChange","changeCountryOfWork","onInternalChange","changeIntrernal","onRegistrationModeChange","changeRegistrationMode","isEfEnabled","userQuestions","userHasOpenEvaluationForms","evaluation_questions","_user","_hasUnansweredQuestions","self","rfOnLeft","hideRegistrationFormTitle","hiddenHeader","showAllEpisodes","titleFontSize","titleLineHeight","titleFontWeight","subSubTitleFontSize","subSubTitleLineHeight","subSubTitleFontWeight","registrationFormHasLoginForm","contactsAlign","hideContactsTitle","removeBorderFromEpisodeTitle","episodeTitleFontSize","episodeTitleLineHeight","mainContext","onLanguageChange","buttonTheme","headerTheme","speakersTheme","sectionsTheme","headerContentAlign","sectionTitleUnderline","thumbsRounded","thumbBordered","speakerPictureWidth","speakerBoxShadow","defaultBorderRadius","fullPageHeader","mainCols","defaultTransition","footerAlign","defaultTextColor","primaryTextColor","tertiaryTextColor","buttonsShape","buttonsFontWeight","registrationFormButtonBackgroundColor","registrationFormButtonBorderColor","registrationFormButtonTextColor","registrationFormFooterTextSize","loginFormButtonBackgroundColor","loginFormButtonBorderColor","loginFormButtonTextColor","loginHeaderButtonBackgroundColor","loginHeaderButtonBorderColor","loginHeaderButtonTextColor","faqHeaderButtonBackgroundColor","faqHeaderButtonBorderColor","faqHeaderButtonTextColor","emailConfirmationButtonBackgroundColor","emailConfirmationButtonBorderColor","emailConfirmationButtonTextColor","agendaBackgroundColor","agendaTimeColor","agendaTitleColor","agendaSpeakersColor","agendaAccordionBodyBgColor","agendaRowBorderColor","agendaRowSpeakerCardColor","agendaTitleFontSize","agendaTitleLineHeight","speakersCardBackgroundColor","playerPageAgendaBackgroundColor","playerPageAgendaTimeColor","playerPageAgendaTitleColor","playerPageAgendaSpeakersColor","playerPageAgendaNestedBorderLeftColor","playerPageSpeakersNameColor","playerPageSpeakersDescriptionColor","playerPageSpeakersRoleColor","playerPageSectionTitleColor","playerPageSpeakersCardExplodeButtonColor","speakersNameColor","modalSectionTitleColor","speakersDescriptionColor","speakersRoleColor","playerPageInfoTabTextColor","sectionTitleColor","colRightBackgroundColor","speakerThumbBorderColor","episodeTitleTextColor","agendaTitleTextColor","agendaTitleBackgroundColor","agendaTitleBackgroundColorExplandable","modalHeaderColor","loginModalLeftSideBackgorundColor","contactsTextColor","contactsFontSizeDesktop","contactsFontSizeMobile","footerFontSizeDesktop","footerFontSizeMobile","tosTextColor","tosLinkColor","episodeDatesFontSize","playerBorderRadius","playerShadowColor","navbarRegistrationDesktopLogoHeight","navbarRegistrationMobileLogoHeight","navbarPlayerDesktopLogoHeight","navbarPlayerMobileLogoHeight","navbarModalDesktopLogoHeight","navbarModalMobileLogoHeight","groupAgendaAndSpeakers","hideEpisodeDatetime","episodeAccordionTitleOrder","episodeAccordionTitleIcon","secondaryBackgroundColor","parseFloat","speakerPictureBorderColor","agendaTitleBgColor","agendaTitleExpandableBgColor","shape","mainContent","GlobalStyle","createGlobalStyle","registrationFormBackgroundColor","defaultLinkColor","formLabelColor","faqHeaderButtonDisabledBackgroundColor","faqHeaderButtonDisabledBorderColor","faqHeaderButtonDisabledTextColor","faqHeaderButtonHoverBackgroundColor","faqHeaderButtonHoverBorderColor","faqHeaderButtonHoverTextColor","loginFormButtonDisabledBackgroundColor","loginFormButtonDisabledBorderColor","loginFormButtonDisabledTextColor","loginFormButtonHoverBackgroundColor","loginFormButtonHoverBorderColor","loginFormButtonHoverTextColor","loginHeaderButtonDisabledBackgroundColor","loginHeaderButtonDisabledBorderColor","loginHeaderButtonDisabledTextColor","loginHeaderButtonHoverBackgroundColor","loginHeaderButtonHoverBorderColor","loginHeaderButtonHoverTextColor","emailConfirmationButtonDisabledBackgroundColor","emailConfirmationButtonDisabledBorderColor","emailConfirmationButtonDisabledTextColor","emailConfirmationButtonHoverBackgroundColor","emailConfirmationButtonHoverBorderColor","emailConfirmationButtonHoverTextColor","registrationFormButtonDisabledBackgroundColor","registrationFormButtonDisabledBorderColor","registrationFormButtonDisabledTextColor","registrationFormButtonHoverBackgroundColor","registrationFormButtonHoverBorderColor","registrationFormButtonHoverTextColor","modalsBackgroundColor","titleTextColor","initialModalTitleColor","subTitleTextColor","initialModalSubtitleColor","subSubTitleTextColor","initialModalSubSubtitleColor","formInputColor","formInputBackgroundColor","formInputBorderColor","formInputShadow","formPlaceholderColor","speakerExplodeBtnTextColor","shadowHoverColor","lightTextColor","lightenDarkenColor","loginPopupTitleColor","loginFormBackgroundColor","qaBackgroundColor","defaultBorderColor","initialModalBannerBackgroundColor","initialModalBannerTextColor","initialModalBannerShadowColor","playerPrimaryColor","playerPrimaryBackground","playerSecondaryColor","playerSecondaryBackground","playerTertiaryColor","playerTertiaryBackground","is_qaa_form_hidden","websiteIntro","Provider","paddingTop","path","exact","registrationIntro","registrationHeader","registrationFormTitle","subTitle","EpisodeDetailsComponent","REACT_APP_ALLOW_IFRAME_IN_TOP_WINDOW","video_test_url","contactsTitle","websiteContacts","websiteFooter","overlayTitle","thankyouMessage","loginFormHideChairmanLoginButton","virtualWorldWillOpen","MainApp","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode","tz","_time","zone","abbr","supportEmail","faqTitle","replaceAll","statusCode","string","test","match","chunks","i","gtmId","tagManagerArgs","TagManager","initialize","text","charAt","slice","cluster","forceTLS","authEndpoint","pongTimeout","activityTimeout","auth","getLocalStorageQaAEnabled","getVttFileUrl","m3u8FileUrl","getChaptersVttFileUrl","getCloseCaptionsVttFileUrl","getThumbnailsVttFileUrl","col","amt","usePound","num","r","b","g","toString","require","Popper","$","jQuery","authToken","interceptors","response","use","reject"],"mappings":"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","file":"static/js/main.1952d96d.chunk.js","sourcesContent":["// UNKNOWN\nexport const UNKNOWN = 99;\n\n// LIVE ONLY\nexport const PRE_LIVE = 101;\nexport const LIVE = 121;\n\n// LIVE & VOD\nexport const BUFFER = 202;\nexport const BYE = 262;\n\n// VOD ONLY\nexport const PRE_VOD = 303;\nexport const VOD = 323;\nexport const POST_VOD = 343;","import React from \"react\";\n\nconst MainContext = React.createContext({});\n\nexport default MainContext","import { useContext } from \"react\";\nimport styled, { ThemeContext } from \"styled-components\"\n\nconst ModalCloseButton = (props) => {\n\n const themeContext = useContext(ThemeContext);\n const posotion = props.position || \"absolute\"\n\n const Btn = styled.div`\n cursor: pointer;\n position: ${posotion};\n right: 0;\n top: 0;\n line-height: 2rem;\n font-size: 1.4rem;\n width: 2rem;\n height: 2rem;\n text-align: center;\n transform: translate(50%, -50%) rotate(45deg);\n background-color: #ffffff;\n color: ${themeContext.modalsCloseButtonColor || \"#000000\"};\n border-radius: 50%;\n box-shadow: 0px 0px 5px 1px #aaaaaa;\n z-index: 101;\n\n `\n return (\n \n +\n \n )\n}\n\nexport default ModalCloseButton","import React, { useEffect, useState, useContext } from \"react\"\nimport ModalCloseButton from \"../../ui/ModalCloseButton/ModalCloseButton\";\nimport Modal from 'react-modal';\nimport MainContext from \"../../context/MainContext\";\nimport { ThemeContext } from 'styled-components';\nimport classNames from \"classnames\";\nimport \"./AdamModal.scss\"\nimport { getContents } from \"../../utils/functions\";\n\nconst AdamModal = (props) => {\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n const [modalOpen, setModalOpen] = useState(false)\n // const [originalContent, setOriginalContent] = useState()\n const [currentContent, setCurrentContent] = useState(\"\")\n\n useEffect(() => {\n setCurrentContent(props.content)\n }, [props.content])\n\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const openModal = (content) => {\n // setOriginalContent(oc)\n setCurrentContent(content)\n setModalOpen(true)\n }\n\n const onModalRequestClose = () => {\n // setOriginalContent()\n setCurrentContent(\"\")\n props.onClose()\n // context.setLoginModalOpen(false)\n }\n const customStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n width: props.small ? '30%' : '50%',\n transform: 'translate(-50%, -50%)',\n zIndex: \"900000\",\n padding: 0,\n position: \"relative\",\n overflow: \"visible\",\n border: `0px solid ${themeContext.shadowColor || themeContext.secondaryColor}`\n // boxShadow: `0 0.25rem 1rem -0.25rem lighter(${themeContext.shadowColor}, 20%)`\n }\n };\n const contentStyles = {\n maxHeight: \"75vh\",\n overflow: \"auto\"\n };\n\n const logoUrl = window._.get(themeContext, \"mediaPopupLogoDesktop.url\") || window._.get(themeContext, \"mediaHeaderLogoDesktop.url\")\n const logo = logoUrl ? (\n \n ) : context.siteTitle\n\n let footerContent = getContents(context, `defaultModalFooter`)\n\n if (props.footerContent) {\n footerContent = props.footerContent\n }\n\n const modal = (\n \n {\n !props.hideHeader ? (\n \n {logo}\n \n ) : null\n }\n {\n !props.hideCloseButton ? (\n \n ) : null\n }\n \n {props.content}\n \n {\n footerContent ? (\n
\n
\n
\n ) : null\n }\n \n\n )\n\n return modal\n}\n\nexport default AdamModal","\nimport React, { useState } from \"react\";\nimport classNames from \"classnames\";\nimport { cleanCheckboxLabel } from \"../../utils/functions\";\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport Multiselect from 'multiselect-react-dropdown';\nimport Select from 'react-select';\n\nconst Input = (props) => {\n\n const [modalOpen, setModalOpen] = useState(false)\n // const [originalContent, setOriginalContent] = useState()\n const [currentContent, setCurrentContent] = useState(\"\")\n\n const openModal = (content) => {\n // setOriginalContent(oc)\n setCurrentContent(content)\n setModalOpen(true)\n }\n\n const onModalRequestClose = () => {\n // setOriginalContent()\n setCurrentContent(\"\")\n setModalOpen(false)\n }\n\n const pluckIds = (selectedList) => {\n return selectedList.map(item => item.id)\n }\n\n let inputElement = null;\n const name = props.id\n const cleanProps = () => {\n let {\n key,\n labelHtml,\n invalidText,\n elementType,\n register,\n control,\n labelOn,\n labelOff,\n selectedItem,\n popupContent,\n original,\n nowrap,\n ...cleanProps\n } = props;\n\n let defaultClassName = \"\"\n\n switch (props.elementType) {\n case \"checkbox\":\n defaultClassName = \"form-check-input\"\n break;\n case \"singleselect\":\n defaultClassName = \"form-singleselect\"\n break;\n default:\n defaultClassName = \"form-control form-control-lg\"\n }\n\n let placeholder = props.placeholder\n if (props.required && !props.hide_asterisk) {\n placeholder += `*`\n }\n return {\n ...cleanProps,\n id: props.id,\n className: props.className ? props.className + ` ${defaultClassName}` : defaultClassName,\n className: classNames(\n props.className,\n defaultClassName,\n { \"is-invalid\": props.invalid }\n ),\n placeholder: placeholder,\n onChange: (e) => props.onChange(e),\n name: name\n // value: (value === null) ? undefined : value\n };\n };\n switch (props.elementType) {\n case \"text\":\n case \"email\":\n case \"password\":\n inputElement = (\n \n );\n break;\n case \"textarea\":\n inputElement = (\n {props.value}\n );\n break;\n case \"checkbox\":\n inputElement = (\n \n );\n break;\n // case \"radio-buttons\":\n // inputElement = (\n // props.onChange(e)}\n // selectedIndex={props.defaultValue}\n // items={props.items}\n // firstIndex={1}\n // />\n // );\n // break;\n case \"hidden\":\n inputElement = (\n \n );\n break;\n case \"select\":\n inputElement = (\n \n {\n props.placeholder ? (\n {props.placeholder}\n ) : null\n }\n {props.options.map((item, index) => {\n return (\n {item.label}\n )\n })}\n \n );\n break;\n case \"singleselect\":\n inputElement = (\n { cleanProps().onChange(e.value) }}\n options={props.options}\n />\n );\n break;\n\n case \"multiselect\":\n inputElement = (\n { cleanProps().onChange(pluckIds(selectedList)) }}\n // onRemove={cleanProps().onChange}\n onRemove={(selectedList, removedItem) => { cleanProps().onChange(pluckIds(selectedList)) }}\n options={props.options}\n />\n );\n break;\n\n default:\n inputElement = null;\n }\n let label = props.label\n let asterisk = \"\"\n if (props.required && !props.hide_asterisk) {\n asterisk = `*`\n }\n\n if (props.nowrap) {\n return inputElement\n }\n let modal = null\n if (props.labelHtml) {\n const cleaned = cleanCheckboxLabel(props.labelHtml)\n label = (\n \n {\n cleaned.before ? (\n \n ) : null\n }\n {\n cleaned.linkContent ? props.popupContent ? (\n openModal(props.popupContent)}\n dangerouslySetInnerHTML={{\n __html: cleaned.linkContent\n }} />\n ) : (\n \n ) : null\n }\n {\n cleaned.after ? (\n \n ) : null\n }\n {asterisk}\n \n )\n // const customStyles = {\n // content: {\n // top: '50%',\n // left: '50%',\n // right: 'auto',\n // bottom: 'auto',\n // marginRight: '-50%',\n // width: '50%',\n // transform: 'translate(-50%, -50%)',\n // zIndex: \"900000\",\n // padding: 0,\n // position: \"relative\",\n // overflow: \"hidden\"\n // }\n // };\n const contentStyles = {\n // maxHeight: \"75vh\",\n overflow: \"auto\",\n fontSize: \"0.75rem\",\n lineHeight: \"1.2rem\"\n };\n\n const modalContents = (\n \n )\n modal = (\n \n )\n }\n\n const invalidFeedback = (props.invalid && props.invalidText) ? (\n
\n {props.invalidText}\n
\n ) : null\n return (props.elementType !== \"checkbox\") ? (\n
\n {\n props.label ? (\n \n ) : null\n }\n {inputElement}\n {invalidFeedback}\n
\n ) : (\n
\n {inputElement}\n {\n props.label ? (\n \n {label}{asterisk}\n \n ) : null\n }\n {\n props.labelHtml ? (\n {label}\n ) : null\n }\n {modal}\n {invalidFeedback}\n
\n )\n};\n\nexport default Input;\n","import React, { useContext } from 'react';\nimport { ThemeContext } from 'styled-components';\nimport MainContext from '../../context/MainContext';\nimport classNames from 'classnames';\n\nconst Logo = React.forwardRef(({ sectionName }, ref) => {\n\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n\n const className = classNames(\"d-inline-block align-center navbar-logo\", ` navbar-logo__${sectionName}`)\n\n const logo = themeContext.mediaHeaderLogoDesktop ? (\n \n ) : context.siteTitle\n return logo\n})\n\nexport default Logo","import React from \"react\"\nimport classNames from \"classnames\"\n\nconst Button = (props) => {\n\n const As = props.as || \"button\"\n\n const buttonType = props.buttonType || 'primary'\n const outline = props.outline ? \"outline-\" : \"\"\n\n const btnClass = classNames(\n props.className, {\n btn: true,\n // \"btn-lg\": true,\n [`btn-${outline}${buttonType}`]: true,\n [`btn-${props.size}`]: props.size,\n });\n // const className = props.className ? [\n // props.className,\n // btnClass\n // ].join(\" \") : btnClass\n\n const style = {}\n\n return (\n \n {props.children}\n \n )\n}\n\nexport default Button","import React from \"react\"\nimport classnames from \"classnames\"\n\nconst Container = (props) => {\n\n const { className, ...cleanProps } = props\n\n const containerClassName = classnames(\n props.className, {\n \"container-fluid\": props.fluid,\n \"container\": !props.fluid,\n })\n\n return (\n
\n {props.children}\n
\n )\n}\n\nexport default Container","import classNames from \"classnames\"\nimport React from \"react\"\n\nconst Row = React.forwardRef((props, ref) => {\n\n const style = props.relative ? {\n position: \"relative\"\n } : {}\n const { className, ...cleanProps } = props\n return (\n \n {props.children}\n
\n )\n})\n\nexport default Row","const Spin = (props) => {\n\n const spin = (\n \n )\n return (\n spin\n )\n}\n\nexport default Spin","import classNames from 'classnames';\nimport React, { useContext, useRef, useState } from 'react';\nimport { ThemeContext } from 'styled-components';\nimport Input from '../components/Input/Input';\nimport Logo from '../components/Logo/Logo';\nimport MainContext from '../context/MainContext';\nimport Button from '../ui/Button/Button';\nimport Container from '../ui/Container/Container';\nimport Row from '../ui/Row/Row';\nimport Spin from '../ui/Spin/Spin';\nimport { getThemeConfig } from '../utils/functions';\n\nfunction wrapSection(WrappedComponent) {\n return function (props) {\n const [email, setEmail] = useState(\"\")\n if (WrappedComponent.hideIfEmpty && !props.content) {\n return null\n }\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n const mediaBackgroundDesktop = window._.get(themeContext, `media${window._.upperFirst(WrappedComponent.className)}BackgroundDesktop`)\n const backgroundRef = useRef(null)\n // let VideoDesktop = null;\n // let video = null\n let videoSource = null\n\n const defaultStyle = {\n display: \"block\",\n position: \"absolute\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n zIndex: 0,\n maxWidth: \"100%\",\n backgroundColor: window._.get(themeContext, `${WrappedComponent.className}BackgroundColor`) || window._.get(themeContext, \"backgroundColor\"),\n backgroundImage: (mediaBackgroundDesktop && mediaBackgroundDesktop.type === \"image\") ? `url(${mediaBackgroundDesktop.url})` : \"none\"\n }\n\n const hasDesktopVideo = (mediaBackgroundDesktop && mediaBackgroundDesktop.type === \"video\")\n // const Background = hasDesktopVideo ? \"video\" : \"div\";\n let background = (\n \n )\n if (hasDesktopVideo) {\n videoSource = (\n \n )\n background = (\n \n {videoSource}\n )\n }\n\n // const Section = styled.section`\n // position: relative;\n // padding: 3rem 0;\n // // border-top: 1px solid #cccccc;\n // `;\n // const Title = styled.h2`\n // line-height: 2.85rem;\n\n // `;\n\n const isAppView = window._.get(context, \"isAppView\")\n const is2ColsView = window._.get(context, \"is2ColsView\")\n\n const sectionMainTitle = props.mainTitle ? (\n
\n {props.mainTitle}\n
\n ) : null\n\n const sectionIntro = props.intro ? (\n
\n ) : null\n\n const sectionTitle = props.hideTitle ? props.hideSectionIntro ? null : sectionIntro : props.title ? (isAppView || is2ColsView) ? (\n <>\n {sectionMainTitle}\n {sectionIntro}\n

\n {props.title}\n

\n \n ) : (\n \n
\n

\n {props.title}\n

\n
\n
\n ) : null\n\n const logo = props.hasLogo ? (\n \n ) : null\n\n let loginForm = null\n\n const loginFormTitle = window._.get(context, \"contents.embeddedLoginTitle\")\n\n loginForm = (\n WrappedComponent.className === \"registration\" &&\n props.hasLoginForm\n ) ? (\n <>\n \n {\n loginFormTitle ? (\n
\n {loginFormTitle}\n
\n ) : null\n }\n
\n setEmail(e.target.value)}\n nowrap={true}\n role=\"button\"\n value={email}\n className=\" w-100\"\n placeholder={window._.get(context, \"contents.emailBoxLoginPlaceholder\")}\n style={{\n display: \"inline-block\",\n }}\n />\n
\n
\n props.onLoginClicked({\n email: email\n })}>\n {\n props.loginWaiting ? (\n \n // \n ) : window._.get(context, \"contents.login\")\n }\n \n
\n\n {\n props.loginErrors ? (\n
\n {props.loginErrors.join(\", \")}\n
\n ) : null\n }\n
\n \n ) : null\n // } \n\n const sectionContent = (\n <>\n {logo}\n {loginForm}\n {sectionTitle}\n <>\n \n \n \n )\n\n const sectionTheme = getThemeConfig(context, WrappedComponent.className)\n const cols = window._.get(sectionTheme, \"cols\") || {}\n // console.log(\"getThemeConfig\", WrappedComponent.className, context)\n let sectionClass = classNames(\n \"website-section\",\n WrappedComponent.className,\n props.className\n )\n const colRules = (props.fullWidth) ? \"col-12\" : {\n [`col-xs-${cols.mobile}`]: cols.mobile,\n [`col-md-${cols.tablet}`]: cols.tablet,\n [`col-lg-${cols.desktop}`]: cols.desktop,\n\n }\n sectionClass = sectionTheme ? classNames(\n sectionClass, colRules) : \"\"\n return (isAppView || is2ColsView) && !props.forceContainer ? (\n
\n {sectionContent}\n
\n ) : (\n
\n {background}\n \n {sectionContent}\n \n
\n )\n }\n}\n\nexport default wrapSection","import React, { useEffect, useRef, useState } from \"react\"\n\nconst AspectRatio = (props) => {\n\n const [height, setHeight] = useState()\n\n const wrapper = useRef()\n\n useEffect(() => {\n setNewHeight()\n window.addEventListener(\"resize\", () => {\n setNewHeight()\n })\n })\n\n const setNewHeight = () => {\n if (window._.isEmpty(wrapper) ||\n window._.isEmpty(window._.get(wrapper, \"current\")) ||\n window._.get(wrapper, \"current\") === null) {\n return false\n }\n //srrr\n const _ratio = (props.ratio) ? props.ratio.split(\"x\") : [1, 1]\n const ratio = _ratio[0] / _ratio[1]\n setHeight(wrapper.current.offsetWidth * ratio)\n }\n\n return (\n
\n {props.children}\n
\n )\n}\n\nexport default AspectRatio","import React, { useEffect, useState } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\nimport classNames from \"classnames\";\nimport AspectRatio from \"../../ui/AspectRatio/AspectRatio\";\n\nconst SpeakerBioModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const { textCentered } = props\n\n const img = (\n \n )\n\n const content = (\n \n \n
\n
\n {img}\n
\n
{props.firstname} {props.lastname}
\n

\n

\n {/*

{props.description}

*/}\n {/* Go somewhere */}\n
\n
\n
\n \n \n )\n\n const modal = (\n props.onClose()}\n />\n )\n\n return modal\n}\n\nexport default SpeakerBioModal","import React, { useState, useContext, useEffect } from 'react';\nimport classNames from \"classnames\"\nimport MainContext from '../../context/MainContext';\nimport wrapSection from '../../hoc/wrapSection';\nimport Row from '../../ui/Row/Row';\nimport \"./Speakers.scss\"\nimport { getThemeConfig } from '../../utils/functions';\nimport Spin from '../../ui/Spin/Spin';\nimport SpeakerBioModal from '../SpeakerBioModal/SpeakerBioModal';\nimport { CSSTransition } from 'react-transition-group';\n\nexport const SpeakerCard = (props) => {\n\n const [modalOpen, setModalOpen] = useState(false)\n const [expanded, setExpanded] = useState(false)\n const [visible, setVisible] = useState(false)\n const { isGridLayout, textCentered, grid } = props\n\n useEffect(() => {\n window.setTimeout(() => {\n setVisible(true)\n }, props.timeout)\n }, [])\n\n const img = (\n
\n )\n let content = null\n\n if (isGridLayout) {\n\n const openPopupButton = (\n setModalOpen(true)}\n >\n +\n
\n )\n content = (\n
\n {openPopupButton}\n {img}\n
\n
{props.firstname} {props.lastname}
\n

\n {/*

{props.description}

*/}\n {/* Go somewhere */}\n
\n
\n )\n const colRules = grid ? {\n [`col-xs-${grid.mobile}`]: grid.mobile,\n [`col-md-${grid.tablet}`]: grid.tablet,\n [`col-lg-${grid.desktop}`]: grid.desktop && !props.fullWidth,\n } : null\n\n return (\n <>\n \n
\n {content}\n
\n \n setModalOpen(false)}\n {...props}\n />\n \n )\n\n }\n const toggle = () => {\n setExpanded(expanded => {\n return !expanded\n })\n }\n\n const openAccordionButton = props.description ? (\n \n {expanded ? \"-\" : \"+\"}\n
\n ) : null\n\n content = (\n
\n {openAccordionButton}\n
\n {props.firstname} {props.lastname}\n
\n
\n
\n \n
\n
\n )\n\n return (\n
\n
\n
\n {img}\n
\n
\n
\n {content}\n
\n
\n )\n}\n\nconst Speakers = ({ hiddenItems = [], ...props }) => {\n\n // let lastConfig = []\n const context = useContext(MainContext)\n\n const layout = getThemeConfig(context, \"speakers\")\n\n const isGridLayout = (!window._.isEmpty(layout)) ? layout.theme === \"grid\" : false\n // const thumbsRounded = (!window._.isEmpty(layout)) ? layout['thumbs-shape'] === \"round\" : false\n const textCentered = (!window._.isEmpty(layout)) ? layout[\"text-align\"] === \"center\" : false\n const grid = (!window._.isEmpty(layout)) ? layout[\"grid\"] : null\n // const thumbBordered = (!window._.isEmpty(layout)) ? layout[\"thumbs-border\"] : false\n\n const speakers = (\n props.items === undefined ||\n props.items === null ||\n props.items?.length === 0\n ) ? (context.speakers || []) : props.items\n\n let cards =
\n if (!context.loadingContents) {\n cards = speakers?.filter(item => !hiddenItems?.includes(item.id))?.map((item, index) => {\n const pair = index % 2\n const timeout = (200 * index)\n return (\n \n )\n })\n }\n\n return (isGridLayout) ? (\n \n {cards}\n \n ) : cards\n\n}\n\nSpeakers.className = \"speakers\"\nexport default wrapSection(Speakers)","import React, { useState, useEffect, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport classNames from \"classnames\"\nimport MainContext from '../../context/MainContext';\nimport wrapSection from '../../hoc/wrapSection';\nimport Row from '../../ui/Row/Row';\nimport \"./Agenda.scss\"\nimport { getThemeConfig, localTime, tzAbbr } from '../../utils/functions';\nimport Spin from '../../ui/Spin/Spin';\nimport { LIVE, PRE_LIVE } from '../../config/channelStatus'\nimport _ from 'lodash';\nimport { CSSTransition } from 'react-transition-group';\nimport { SpeakerCard } from '../Speakers/Speakers';\n\nconst AgendaRow = ({ allowNested, groupedSeakers, hideAgendaDatetime, sidebar, ...props }) => {\n\n const context = useContext(MainContext)\n const [showDate, setShowDate] = useState(false)\n const [visible, setVisible] = useState(false)\n const [expanded, setExpanded] = useState(false)\n useEffect(() => {\n window.setTimeout(() => {\n setVisible(true)\n }, props.timeout)\n }, [])\n\n useEffect(() => {\n // consoleLog(\"context.channelStatus\", context.channelStatus)\n const canShowDate = (\n [\n LIVE,\n PRE_LIVE\n ].includes(context.channelStatus) ||\n !context.channelStatus\n )\n // consoleLog(\"context.channelStatus\", canShowDate)\n setShowDate(canShowDate)\n\n }, [context.channelStatus])\n\n const { grid, isAppView } = props\n let { episode } = props\n // const Speakers = styled.div`\n // color: ${props.style.tertiaryColor};\n // `;\n\n const nestedAgenda = props.children\n const showNestedAgenda = allowNested && nestedAgenda?.length\n // console.log(\"showNestedAgenda\", showNestedAgenda)\n const vertical = props.vertical\n\n const toggle = () => {\n setExpanded(expanded => {\n return !expanded\n })\n }\n\n const openAccordionButton = showNestedAgenda ? (\n \n {expanded ? \"-\" : \"+\"}\n
\n ) : null\n\n const title = (\n <>\n
\n {openAccordionButton}\n
\n
\n \n )\n\n const subtitle = (\n <>\n
\n {openAccordionButton}\n
\n
\n \n )\n\n if (!episode) {\n episode = window._.get(context, \"episode\")\n }\n\n const speechTime = ((\n episode.has_future_live_events &&\n showDate\n ) || props.showDate) &&\n !hideAgendaDatetime ?\n `${localTime(props.start_at, props.timezone).format(\"HH:mm\")} - ${localTime(props.start_at, props.timezone).add(props.duration, \"minutes\").format(\"HH:mm\")} (${props.duration} ${window._.get(context, \"contents.minutes\") || 'minutes'})` : // ${props.timezone}\n `${props.duration} ${window._.get(context, \"contents.minutes\") || 'minutes'}`\n\n const time = (\n
\n {speechTime}\n
\n )\n\n // const duration = (!props.isZigZagTheme) ? (\n //
\n // {props.duration} minutes\n //
\n // ) : null\n\n const gridStyle = grid ? {\n [`col-xs-${grid.mobile}`]: grid.mobile,\n [`col-md-${grid.tablet}`]: grid.tablet,\n [`col-lg-${grid.desktop}`]: grid.desktop,\n } : null\n\n return (\n \n
\n {\n groupedSeakers ? (\n \n
\n {time}\n {title}\n {subtitle}\n
\n
\n {\n props.speakers.map((speaker, speakerIndex) => (\n \n ))}\n
\n
\n ) : (\n props.isZigZagTheme ? (\n \n {title}\n {subtitle}\n {time}\n \n ) : (\n \n {time}\n {title}\n {subtitle}\n \n )\n )\n\n }\n {\n showNestedAgenda ? (\n
\n \n
\n ) : groupedSeakers ? null : (\n \n
\n
\n {\n vertical ?\n props.speakers.map((speaker, speakerIndex) => (\n
\n {speaker.firstname} {speaker.lastname}\n
\n )) :\n props.speakers.map(speaker => {\n return `${speaker.firstname} ${speaker.lastname}`\n }).join(\", \")\n }\n
\n
\n
\n )\n }\n
\n \n )\n}\n\nconst AgendaDay = ({ allowNested, groupedSeakers, hideAgendaDatetime, sidebar, ...props }) => {\n\n const context = useContext(MainContext)\n const inverted = getThemeConfig(context, \"agenda.date\") === \"inverted\"\n\n const Day = styled.h3`\n display: inline-block;\n color: ${inverted ? props.style.backgroundColor : props.style.primaryColor};\n background-color: ${inverted ? props.style.primaryColor : \"transparent\"};\n padding: ${inverted ? \".5rem 1rem\" : \"0\"}\n `;\n\n const agendaTheme = getThemeConfig(context, \"agenda.theme\")\n const hideDay = getThemeConfig(context, \"agenda.hide-day\")\n const isZigZagTheme = agendaTheme === \"zigzag\"\n const className = (props.isAppView) ? \"\" : classNames({\n \"col-12\": !isZigZagTheme,\n \"col-9\": isZigZagTheme\n }, {\n \"offset-3\": (props.indexDay % 2) && isZigZagTheme\n })\n const vertical = getThemeConfig(context, \"speakers.list-direction\") === \"vertical\"\n\n const eventDayCOntent = (\n \n {localTime(props.day, props.timezone).format(\"D-M-Y\")} {tzAbbr(props.day, props.timezone)}\n {/* {moment(props.day).tz(props.timezone).format(\"D-M-Y\")} */}\n \n )\n const eventDay = (props.isAppView) ? (\n eventDayCOntent\n ) : (\n \n
\n {eventDayCOntent}\n
\n
\n )\n\n return (\n
\n {hideDay ? null : eventDay}\n {/*
*/}\n {props.items[props.day].map((item, index) => {\n const timeout = (100 * index)\n return (\n \n )\n })}\n {/*
*/}\n
\n )\n}\n\nconst Agenda = ({ allowNested, groupedSeakers, sidebar, ...props }) => {\n\n // const [items, setItems] = useState([])\n // const [country, setCountry] = useState()\n // const [language, setLanguage] = useState()\n // const [episodeId, setepisodeId] = useState()\n // const [loadingContents, setLoadingContents] = useState(false)\n // const [lastConfig, setLastConfig] = useState()\n // const [loading, setLoading] = useState(false)\n\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n\n const { episode } = props\n // const agendaTheme = getThemeConfig(context, \"agenda\")\n\n // useEffect(() => {\n // fetchData(loadingContents)\n // return () => { setItems([]) }\n // }, [props.country, props.language, props.episodeId, loadingContents])\n\n // useEffect(() => {\n // setLoadingContents(context.loadingContents)\n // }, [context.loadingContents])\n\n // useEffect(() => {\n // // const grouped = window._.groupBy(context.agenda, (item) => {\n // // return item.day\n // // })\n\n // const agenda = (\n // props.items === undefined &&\n // !window._.isEmpty(props.items)\n // ) ? context.agenda : props.items\n // consoleLog(\"agenda\", agenda)\n // setItems(agenda)\n // }, [context.agenda, props.items])\n\n // useEffect(() => {\n // if (props.country) {\n // setCountry(props.country)\n // }\n // }, [props.country])\n\n // useEffect(() => {\n\n // if (props.language) {\n // setLanguage(props.language)\n // }\n // }, [props.language])\n\n // useEffect(() => {\n // if (props.episodeId) {\n // setepisodeId(props.episodeId)\n // }\n // }, [props.episodeId])\n\n // const fetchData = async (disabled) => {\n // const { country, language, episodeId, internal } = props\n // console.log(\"fetchData\", country, language, episodeId, !loadingContents)\n // if (country && language && episodeId && !disabled && lastConfig !== [country, language, episodeId, internal]) {\n // setLoading(true)\n // setLastConfig([country, language, episodeId, internal])\n // try {\n // const res = await getAgenda({ country, language, episodeId, internal })\n // const grouped = window._.groupBy(res, (item) => {\n // return item.day\n // })\n\n\n // setItems(grouped)\n // }\n // catch (e) { }\n // finally {\n // setLoading(false)\n // }\n // }\n // }\n const agenda = (\n props.items === undefined ||\n props.items === null ||\n props.items?.length === 0\n ) ? (context.agenda || []) : props.items\n\n const grouped = window._.groupBy(agenda, (item) => {\n return item.day\n })\n let agendaDays = []\n const layout = getThemeConfig(context, \"agenda\")\n const grid = (!window._.isEmpty(layout)) ? layout[\"grid\"] : null\n\n const isAppView = (\n context.isAppView ||\n context.is2ColsView\n )\n\n if (context.loadingContents) {\n agendaDays =
\n }\n else {\n Object.keys(grouped).forEach((day, indexDay) => {\n {\n const pair = indexDay % 2\n agendaDays.push(\n \n )\n }\n })\n }\n return (isAppView) ? (\n\n agendaDays\n\n ) : (\n \n {agendaDays}\n \n )\n}\nAgenda.className = \"agenda\"\nexport default wrapSection(Agenda)","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport { ThemeContext } from \"styled-components\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\nimport classNames from \"classnames\";\n\nconst FaqItem = (props) => {\n const [open, setOpen] = useState(false)\n\n const toggle = () => {\n setOpen(open => !open)\n }\n\n return (\n \n
\n
\n {props.question}\n
+
\n
\n
\n
\n \n )\n}\n\nconst FaqsModal = (props) => {\n // const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n // const themeContext = useContext(ThemeContext);\n\n // useEffect(() => {\n // setModalOpen(props.open)\n // }, [props.open])\n\n const grid = (\n \n {\n context.faqs ? context.faqs.map((item, index) => {\n return (\n \n )\n }) : null\n\n }\n \n )\n\n const modal = (\n props.setFaqsModalOpen(false)}\n />\n )\n\n return modal\n}\n\nexport default FaqsModal","import { useState } from 'react';\nimport FaqsModal from \"../components/FaqsModal/FaqsModal\";\n\nfunction useFaqModal() {\n\n const [faqsModalOpen, setFaqsModalOpen] = useState(false)\n\n const open = () => {\n setFaqsModalOpen(true)\n }\n\n const close = () => {\n setFaqsModalOpen(false)\n }\n\n const faqMOdal = (\n <>\n setFaqsModalOpen(val)} />\n \n )\n\n\n return {\n _faqMOdal: faqMOdal,\n _openFaqModal: open,\n _closeFaqModal: close\n };\n}\n\nexport default useFaqModal","import React from 'react';\nimport wrapSection from '../../hoc/wrapSection';\nimport useFaqModal from '../../hooks/useFaqModal';\nimport { cleanFaqPopup } from '../../utils/functions';\n\nconst Contacts = (props) => {\n\n const content = cleanFaqPopup(props.content)\n const {\n _faqMOdal,\n _openFaqModal,\n } = useFaqModal()\n\n return content ? (\n
\n {\n content.map((row, index) => {\n\n return (\n

\n {row.before ? (\n \n ) : null}\n {\n row.linkContent ? (\n _openFaqModal()}>\n {row.linkContent}\n \n ) : null\n }\n {row.after ? (\n \n ) : null}\n\n

\n )\n })\n }\n {\n _faqMOdal\n }\n
\n ) : null\n}\n\nContacts.className = \"contacts\"\nContacts.hideIfEmpty = true\nexport default wrapSection(Contacts)","import React, { useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport wrapSection from '../../hoc/wrapSection';\nimport \"./Footer.scss\"\n\nconst Footer = (props) => {\n\n const themeContext = useContext(ThemeContext);\n const footerContentColor = themeContext.footerTextColor || themeContext.tertiaryColor\n const poweredByColor = themeContext.poweredByColor || footerContentColor\n\n const logo = !window._.isEmpty(themeContext.mediaFooterLogoDesktop) ? (\n \n ) : \"ADM Media brand solutions\"\n\n const footerDynamicContent = props.content ? (\n \n
\n ) : null\n\n return (\n
\n {footerDynamicContent}\n
\n Powered By {logo}\n
\n
\n )\n}\nFooter.className = \"footer\"\nexport default wrapSection(Footer)","import React, { useContext, useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport styled, { ThemeContext } from 'styled-components';\nimport MainContext from '../../context/MainContext';\nimport wrapSection from '../../hoc/wrapSection';\nimport Button from '../../ui/Button/Button';\nimport Spin from '../../ui/Spin/Spin';\nimport { getThemeConfig } from '../../utils/functions';\nimport Input from '../Input/Input';\nimport \"./Header.scss\"\nconst Header = (props) => {\n\n const [email, setEmail] = useState(\"\")\n const history = useHistory()\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n\n const HeaderTitle = styled.div`\n // color: ${themeContext.headerIntroColor || themeContext.secondaryColor}\n `\n const HeaderSubtitle = styled.div`\n // color: ${themeContext.headerIntroColor || themeContext.secondaryColor}\n `\n // Redirect to player page when user data are loaded \n // and user has subscribed at least a channel\n // useEffect(() => {\n\n // console.log(\"loadUserData\", window._.get(context, \"user.channels\"))\n // if (window._.get(context, \"user.channels\")) {\n // alert(\"loadUserData\")\n // history.push(\"/play\");\n // }\n // }, [context.user])\n\n const config = getThemeConfig(context, \"header\")\n const rfConfig = getThemeConfig(context, \"registration-form\")\n\n const loginForm = (window._.get(config, \"login-form\")) ? (\n <>\n
\n setEmail(e.target.value)}\n nowrap={true}\n role=\"button\"\n value={email}\n placeholder={window._.get(context, \"contents.emailBoxLoginPlaceholder\")}\n style={{\n display: \"inline-block\",\n width: \"50%\"\n }}\n />\n props.onLoginClicked({\n email: email\n })}>\n {\n props.loginWaiting ? (\n \n // \n ) : window._.get(context, \"contents.login\")\n }\n \n
\n {\n props.loginErrors ? (\n
\n {props.loginErrors.join(\", \")}\n
\n ) : null\n }\n \n ) : null\n //(window._.get(rfConfig, \"modal\"))\n const registerButton = (\n \n {window._.get(context, \"contents.register\")}\n \n )\n\n const intro = props.intro ? (\n
\n \n \n {loginForm}\n {registerButton}\n
\n ) : null\n\n return intro\n}\n\nHeader.className = \"header\"\nHeader.fluid = true\nexport default wrapSection(Header)","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React from \"react\"\nimport Button from \"../Button/Button\"\nimport \"./LogoutButton.scss\"\n\nconst LogoutButton = (props) => {\n\n return (\n <>\n \n {props.mainButtonContent}\n \n
\n \n {props.logoutButtonContent}\n \n
\n \n )\n}\n\nexport default LogoutButton","export const client = window.axios\n\nexport const buildQuery = (queryParams) => {\n const query = Object.keys(queryParams).map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(queryParams[key])\n }).join('&');\n return query\n}\n\nexport const get = async (url) => {\n const res = await client.get(url)\n return res\n}\n\nexport const login = async (params) => {\n const res = await client.post(`login`, params)\n return res.data.data\n}\n\nexport const logout = async (params) => {\n const res = await client.post(`logout`, params)\n return res.data.data\n}\n\nexport const forceLogout = async (params) => {\n const res = await client.post(`force-logout`, params)\n return res.data.data\n}\n\nexport const me = async (params) => {\n const query = window._.isEmpty(params) ? \"\" : `?${buildQuery(params)}`\n // const query = window._.isEmpty(params) ? \"\" : `?${buildQuery(params)}`\n const res = await client.get(`me${query}`)\n return res.data.data\n}\n\nexport const detectEvent = async (params) => {\n const query = window._.isEmpty(params) ? \"\" : `?${buildQuery(params)}`\n const res = await client.get(`detect${query}`)\n return res.data.data\n}\n\nexport const eventPreview = async (params) => {\n const query = window._.isEmpty(params) ? \"\" : `?${buildQuery(params)}`\n const res = await client.get(`preview${query}`)\n return res.data.data\n}\n\nexport const getEvent = async (params) => {\n const query = window._.isEmpty(params) ? \"\" : `?${buildQuery(params)}`\n const res = await client.get(`${query}`)\n return res.data.data\n}\n\nexport const getSpeakers = async (params) => {\n\n const { country, language, episodeId, internal } = params\n\n let queryParams = {\n lang_id: language,\n episode_id: episodeId,\n is_internal: internal,\n }\n\n if (country) {\n queryParams = {\n ...queryParams,\n country_id: country\n }\n }\n\n const res = await client.get(`speakers?${buildQuery(queryParams)}`)\n return res.data.data\n}\n\nexport const getAgenda = async (params) => {\n\n const { country,\n language,\n episodeId,\n internal\n } = params\n\n let queryParams = {\n lang_id: language,\n episode_id: episodeId,\n is_internal: internal\n }\n\n if (country) {\n queryParams = {\n ...queryParams,\n country_id: country\n }\n }\n\n const res = await client.get(`agendas?${buildQuery(queryParams)}`)\n return res.data.data\n}\n\nexport const getEligibleEpisodes = async (params) => {\n\n const {\n lang_id,\n country_id,\n registration_mode,\n internal,\n selectedEpisodes,\n selectedEpisodeCategories,\n all\n } = params\n\n let query = {\n country_id: country_id,\n lang_id: lang_id,\n is_internal: internal,\n episodes: selectedEpisodes,\n episode_categories_id: selectedEpisodeCategories,\n all: all\n }\n\n if (registration_mode) {\n query = {\n ...query,\n registration_mode: registration_mode\n }\n }\n\n const res = await client.get(`eligible-episodes?${buildQuery(query)}`)\n return res.data.data\n}\n\nexport const getStyles = async (params) => {\n\n const res = await client.get(`layouts`)\n return res.data.data\n}\n\nexport const getMedia = async (params) => {\n\n const res = await client.get(`media`)\n return res.data.data\n}\n\nexport const getContents = async (params) => {\n const query = (params) ? `?${buildQuery(params)}` : ''\n const res = await client.get(`contents${query}`)\n return res.data.data\n}\n\nexport const getLegals = async (params) => {\n const { country, language, internal } = params\n let queryParams = {}\n\n if (country) {\n queryParams = {\n ...queryParams,\n country_id: country\n }\n }\n if (language) {\n queryParams = {\n ...queryParams,\n lang_id: language\n }\n }\n if (internal) {\n queryParams = {\n ...queryParams,\n is_internal: internal\n }\n }\n const res = await client.get(`legals?${buildQuery(queryParams)}`)\n return res.data.data\n}\n\nexport const getPlayerSources = async (params) => {\n const res = await client.get(`sources?${buildQuery(params)}`)\n return res.data.data\n}\n\nexport const loadQuestions = async (params) => {\n const res = await client.get(`questions?${buildQuery(params)}`)\n return res.data.data\n}\n\nexport const markQuestionAsRead = async (questionId) => {\n const res = await client.post(`questions/${questionId}/mark-as-read`)\n return res.data.data\n}\n\nexport const deleteQuestion = async (questionId) => {\n const res = await client.delete(`questions/${questionId}`)\n return res.data.data\n}\n\n// Evaluation form\nexport const sendEvaluationFormAnswers = async (params) => {\n const res = await client.post(`evaluationform/answer`, params)\n return res.data.data\n}\n\nexport const playerWhebHook = async (params) => {\n // player-event\n const res = await client.post(`webhooks/player-event`, params)\n return res.data.data\n}\n\nexport const playerInsight = async (params) => {\n // player-event\n const res = await client.post(`webhooks/player-insight`, params)\n return res.data.data\n}\n\nexport const selectEpisodeWebHook = async ({ episodeId }) => {\n // player-event\n const url = [\n \"select-episode\",\n episodeId\n ].join(\"/\")\n const res = await client.post(url)\n return res.data.data\n}\n\nexport const setSubscriberChannelPresence = async ({ channelId }) => {\n // player-event\n const url = [\n \"subscriber-channel-presence\"\n ].join(\"/\")\n const res = await client.post(url, { channel_id: channelId })\n return res.data.data\n}\n\nexport const resetSubscriberChannelPresence = async () => {\n // player-event\n const url = [\n \"reset-subscriber-channel-presence\"\n ].join(\"/\")\n const res = await client.post(url)\n return res.data.data\n}","import React, { useContext, useEffect, useState } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\nimport Button from \"../../ui/Button/Button\";\nimport { sendEvaluationFormAnswers } from \"../../api/functions\"\nimport classNames from \"classnames\";\nimport \"./EvaluationFormModal.scss\"\nimport Multiselect from \"multiselect-react-dropdown\";\nimport { consoleLog } from \"../../utils/functions\";\nimport MainContext from \"../../context/MainContext\";\n\nconst EvaluationFormModal = (props) => {\n\n const context = useContext(MainContext)\n const [modalOpen, setModalOpen] = useState(false)\n const [episode, setEpisode] = useState()\n const [loading, setLoading] = useState(false)\n const [answers, setAnswers] = useState({})\n const [requiredAnswers, setRequiredAnswers] = useState({})\n const [formFeedback, setFormFeedback] = useState()\n const [formErrors, setFormErrors] = useState([])\n const [answered, setAnswered] = useState([])\n\n const { user } = props\n const userOpenQuestions = window._.get(user, `questions`, [])\n const userEpisodes = window._.get(user, `episodes`, []).filter(item => item.is_evaluation_open && userOpenQuestions.includes(item.id))\n // const questionsCategories = window._.get(episode, \"evaluation_questions\")\n const questionsCategories = props.questionsCategories\n\n useEffect(() => {\n if (userEpisodes.length === 1) {\n setEpisode(userEpisodes[0])\n }\n }, [user])\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n useEffect(() => {\n setEpisode(context.episode)\n }, [context.episode])\n\n const onChange = (key, e, isRequired) => {\n let value = e\n if (e.target) {\n value = e.target?.value\n }\n setAnswers({\n ...answers,\n [key]: value\n })\n if (isRequired) {\n setRequiredAnswers({\n ...requiredAnswers,\n [key]: value\n })\n }\n }\n\n const buttonIsDisabled = () => {\n // if (!requiredAnswers) {\n // return false\n // }\n\n let answersResults = []\n Object.keys(requiredAnswers).forEach(k => {\n answersResults.push(requiredAnswers[k])\n })\n let questionsCOunt = 0\n if (questionsCategories) {\n questionsCategories.forEach(cat => {\n questionsCOunt += cat.evaluationquestions?.filter(item => item.is_required && item.lang_id === context.language)?.length\n })\n }\n return (\n !questionsCategories ||\n loading ||\n answersResults.filter(item => !!item).length !== questionsCOunt\n )\n }\n\n const sendAnswers = async () => {\n setFormFeedback(formFeedback => {\n return {\n ...formFeedback,\n [episode.id]: null\n }\n })\n setFormErrors()\n setLoading(true)\n try {\n const res = await sendEvaluationFormAnswers({\n episode_id: episode.id,\n answers: answers\n })\n setFormFeedback(formFeedback => {\n let ff = formFeedback\n ff[episode.id] = \"Thank you for your time!\"\n return ff\n })\n // setFormFeedback(\"Thank you for your time!\")\n setAnswered(answered => answered.concat(episode.id))\n setAnswers()\n setRequiredAnswers({})\n props.setEvaluationFormAnswered(true)\n // window.setTimeout(() => {\n // close()\n // }, 2000)\n }\n catch (e) {\n const newErrors = window._.get(e, \"response.data.message\")\n setFormErrors(newErrors)\n }\n finally {\n setLoading(false)\n }\n }\n\n const close = () => {\n setFormErrors()\n setRequiredAnswers({})\n props.closeEvaluartionFormModal()\n }\n\n const grid = episode ? window._.get(props.answered, episode.id) ? ( //window._.get(props.answered, episode.id)\n \n \n
\n {props.alreadyAnsweredMessage}\n
\n
\n
\n ) : (\n \n \n \n {\n userEpisodes.length > 1 ? (\n setEpisode()}\n >\n ) : null\n }\n {episode.evaluation_form_title || episode.title}\n
\n \n {\n window._.get(formFeedback, episode.id) ? (\n \n
\n {window._.get(formFeedback, episode.id)}\n
\n
\n ) : questionsCategories ? questionsCategories.map((category, index) => {\n\n const questions = category.evaluationquestions?.filter(q => q.lang_id === context.language)\n return (\n
\n {\n questions?.length ? (\n \n \n {category.title}\n
\n \n ) : null\n }\n\n
\n {\n questions.map(item => {\n consoleLog(\"item.options\", item.options)\n const answer = (!item.question_type) ? (\n onChange(item.id, e, item.is_required)}\n className=\"form-control form-control-lg\"\n >\n ) : item.is_radio ? (\n
\n {\n item.options ? item.options.map(option => {\n return (\n \n onChange(item.id, e, item.is_required)}\n />\n \n
\n )\n }) : null\n }\n
\n ) : item.max_allowed_choices > 1 ? (\n { onChange(item.id, selectedList.map(sel => sel.id), item.is_required) }}\n showCheckbox={true}\n closeOnSelect={false}\n selectionLimit={item.max_allowed_choices}\n onRemove={(selectedList, removedItem) => { onChange(item.id, selectedList.map(sel => sel.id), item.is_required) }}\n options={item.options?.map(option => {\n return {\n id: option,\n key: option,\n name: option\n }\n })}\n />\n ) : (\n onChange(item.id, e, item.is_required)}\n className=\"form-control\"\n >\n \n \n {\n (item.options && !window._.isEmpty(item.options)) ? Object.keys(item.options).map(k => {\n return (\n \n {item.options[k]}\n \n )\n }) : null\n }\n \n )\n\n const legend = item.legend ? (\n \n ) : null\n\n return (\n \n
\n \n {legend}\n
\n
\n {answer}\n
\n \n )\n })\n }\n \n \n )\n }) : \"No questions\"\n }\n \n \n {\n formErrors ? (\n \n {formErrors}\n \n ) : null\n }\n {\n window._.get(formFeedback, episode.id) ? null : (\n \n \n {\n loading ? \"Please wait\" : \"Confirm\"\n }\n \n \n )\n }\n\n \n \n \n\n ) : (\n \n \n {userEpisodes.map(_episode => {\n const _answered = window._.get(user, `answers.${_episode.id}.answered`) || answered.includes(_episode.id)\n return (\n {\n if (_answered) {\n return false\n }\n else {\n setEpisode(_episode)\n }\n }}\n >\n
\n {_episode.evaluation_form_title || _episode.title}\n
\n {\n _answered ? (\n
\n \n {props.alreadyAnsweredMessage}\n \n
\n ) : null\n }\n \n )\n })}\n \n \n Close\n \n \n
\n
\n )\n\n const modal = (\n close()}\n />\n )\n\n return modal\n}\n\nexport default EvaluationFormModal","import React, { useEffect, useState } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport Button from \"../../ui/Button/Button\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\n\nconst ForceEvaluationFormModal = ({ onClose, onConfirm, content, okButtonText, koButtonText, ...props }) => {\n const [modalOpen, setModalOpen] = useState(false)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const grid = (\n \n \n
\n {content || \"Are you sure?\"}\n
\n
\n\n \n
\n \n {okButtonText || \"Confirm\"}\n \n \n {koButtonText || \"Cancel\"}\n \n
\n
\n
\n )\n\n const modal = (\n \n )\n\n return modal\n}\n\nexport default ForceEvaluationFormModal","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useContext, useEffect, useRef, useState } from 'react';\nimport { Link, useLocation } from 'react-router-dom';\nimport styled, { ThemeContext } from 'styled-components';\nimport MainContext from '../../context/MainContext';\nimport useFaqModal from '../../hooks/useFaqModal';\nimport Button from '../../ui/Button/Button';\nimport LogoutButton from '../../ui/LogoutButton/LogoutButton';\nimport Spin from '../../ui/Spin/Spin';\nimport EvaluationFormModal from '../EvaluationFormModal/EvaluationFormModal';\nimport Logo from '../Logo/Logo';\nimport \"./Navbar.scss\"\nimport ForceEvaluationFormModal from '../ForceEvaluationFormModal/ForceEvaluationFormModal';\nimport { getAuthToken, utc } from '../../utils/functions';\nimport classNames from 'classnames';\n\nconst Navbar = React.forwardRef((props, ref) => {\n\n const context = useContext(MainContext)\n const location = useLocation();\n const themeContext = useContext(ThemeContext);\n const [logged, setLogged] = useState(false)\n\n const [evaluationFormAnswered, setEvaluationFormAnswered] = useState(false)\n const [evaluartionFormModalOpen, setEvaluartionFormModalOpen] = useState(false)\n const [forceEvaluationFormModalOpen, setForceEvaluationFormModalOpen] = useState(false)\n const navbar = useRef()\n const {\n _faqMOdal,\n _openFaqModal,\n } = useFaqModal()\n\n const { episode, user, contents, evaluationFormEnabled } = props\n\n // forceEfStartAt={episode.force_ef_start_at}\n // forceEfFinishAt={episode.force_ef_finish_at}\n\n useEffect(() => {\n setNavHeight()\n checkScrolled()\n document.addEventListener(\"scroll\", (e) => {\n checkScrolled()\n })\n // if (props.hasUnansweredQuestions) {\n // setEvaluartionFormModalOpen(true)\n // }\n }, [])\n\n useEffect(() => {\n if (props.hasUnansweredQuestions &&\n props.isVirtualWorld &&\n !props.isCtio2022 &&\n location.pathname !== \"/evaluation\"\n ) {\n setEvaluartionFormModalOpen(true)\n }\n }, [props.hasUnansweredQuestions, props.isVirtualWorld])\n\n useEffect(() => {\n if (!window._.isEmpty(context.user) && !logged) {\n setLogged(true)\n }\n else if (window._.isEmpty(context.user) && logged) {\n setLogged(false)\n }\n\n }, [context.user])\n\n const checkScrolled = () => {\n if (navbar.current) {\n if (window.scrollY > 50) {\n navbar.current.classList.add(\"scrolled\")\n }\n else {\n navbar.current.classList.remove(\"scrolled\")\n }\n }\n }\n\n const setNavHeight = (newHeight) => {\n if (newHeight === undefined || newHeight === null) {\n newHeight = navbar.current.offsetHeight\n }\n context.setNavHeight(newHeight)\n }\n\n const openEvaluartionFormModal = () => {\n setEvaluartionFormModalOpen(true)\n }\n\n const closeEvaluartionFormModal = () => {\n setEvaluartionFormModalOpen(false)\n props.onEvaluationFormModalClose()\n }\n\n const execLogout = () => {\n if (props.onLogoutClicked) {\n props.onLogoutClicked()\n }\n }\n\n const handleLogoutButtonClicked = () => {\n if (!episode) {\n return false\n }\n const now = utc()\n // console.log(\"now\", now.format(), utc(episode.force_ef_start_at).format(), utc(episode.force_ef_finish_at).format())\n // console.log(\"now\", window._.get(user, `answers.${episode.id}.answered`))//window._.get(props.answered, episode.id)\n // console.log(\"now\", now.isSameOrBefore(utc(episode.force_ef_finish_at)))//window._.get(props.answered, episode.id)\n // console.log(\"now\", !(!episode.force_ef_start_at && !episode.force_ef_finish_at))//window._.get(props.answered, episode.id)\n // console.log(\"now\", episode.force_ef_start_at, episode.force_ef_finish_at)//window._.get(props.answered, episode.id)\n // console.log(\"now\", episode)//window._.get(props.answered, episode.id)\n if (!episode.force_ef_start_at && !episode.force_ef_finish_at) {\n execLogout()\n return\n }\n\n if (\n evaluationFormEnabled &&\n !window._.get(user, `answers.${episode.id}.answered`) &&\n !evaluationFormAnswered &&\n (!episode.force_ef_start_at || now.isSameOrAfter(utc(episode.force_ef_start_at))) &&\n (!episode.force_ef_finish_at || now.isSameOrBefore(utc(episode.force_ef_finish_at)))\n ) {\n // open ForceEvaluationFormModal\n setForceEvaluationFormModalOpen(true)\n }\n else {\n execLogout()\n }\n }\n\n // ForceEvaluationFormModal click ok button\n const handleConfirmOpenEvaluationForm = () => {\n setForceEvaluationFormModalOpen(false)\n setEvaluartionFormModalOpen(true)\n }\n\n // ForceEvaluationFormModal click cancel button\n const handleDenyOpenEvaluationForm = () => {\n setForceEvaluationFormModalOpen(false)\n execLogout()\n }\n\n const Nav = styled.nav`\n background-color: ${themeContext.navbarBackgroundColor || \"transparent\"};\n z-index: 801;\n &.scrolled {\n background-color: ${themeContext.navbarBackgroundColor || themeContext.defaultBackgroundColor};\n ${themeContext.shadowColor ? `box-shadow:0 0.25rem 1rem -0.25rem ${themeContext.shadowColor};` : \"\"}\n }\n @media (max-width: 991px) { \n background-color:${themeContext.navbarBackgroundColor || themeContext.defaultBackgroundColor};\n ${themeContext.shadowColor ? `box-shadow:0 0.25rem 1rem -0.25rem ${themeContext.shadowColor};` : \"\"}\n } \n `;\n\n const logo = (\n \n )\n\n const logXButton = (logged) ? (\n
  • \n : window._.get(context, \"contents.logout\")}\n />\n {/* {context.loggingOut ? : window._.get(context, \"contents.logout\")} */}\n
  • \n ) : (\n
  • \n context.setLoginModalOpen(true)}\n className=\"my-2 my-sm-0 btn-header-login\"\n >{window._.get(context, \"contents.login\")}\n
  • \n )\n\n const changeEpisodeButton = (window._.get(context, \"user\") && window._.get(context, \"user.episodes\")) && Object.values(window._.get(context, \"user.episodes\"))?.filter(item => item.has_future_events)?.length > 1 ? (\n
  • \n context.setSelectEpisodeModalOpen(true)}\n className=\"btn btn-info my-2 mr-2 my-sm-0\"\n >{window._.get(context, \"contents.changeEpisode\") || \"Change Room\"}\n
  • \n ) : null\n\n const faqButton = (context.faqs && !window._.isEmpty(context.faqs)) ? (\n
  • \n onFaqButtonClicked()}\n className=\"btn btn-info my-2 mr-2 my-sm-0 btn-faq\"\n >{window._.get(context, \"contents.faqTitle\") || \"F.A.Q.\"}\n
  • \n ) : null\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languagesButton = languagesList?.length > 1 ? (\n
  • \n \n {context.language.toUpperCase()}\n \n
    \n {\n languagesList.map(lang => (\n context.setLanguage(lang.id)}\n >\n {lang.label}\n \n ))\n }\n
    \n
  • \n ) : null\n\n const onFaqButtonClicked = () => {\n // setFaqsModalOpen(true)\n _openFaqModal()\n }\n\n const getEvaluationQuestionsCount = () => {\n const categories = window._.get(episode, `evaluation_questions`)\n let questions = []\n if (categories) {\n categories.forEach(element => {\n questions = questions.concat(element.evaluationquestions?.filter(q => q.lang_id === context.language))\n })\n }\n return questions.length\n }\n const evaluationButton = (\n evaluationFormEnabled &&\n getEvaluationQuestionsCount() &&\n location.pathname !== \"/evaluation\"\n ) ? (\n
  • \n openEvaluartionFormModal()}\n className=\"btn btn-info my-2 mr-2 my-sm-0\"\n >{window._.get(context, \"contents.evaluationFormTitle\") || \"Evaluation\"}\n
  • \n ) : null\n\n const faqMOdal = getEvaluationQuestionsCount() ? (\n <>\n {/* setFaqsModalOpen(val)} /> */}\n {\n evaluationFormEnabled ? (\n <>\n \n \n \n ) : null\n }\n \n ) : null\n\n let home = \"/\"\n\n if (context.isPreview) {\n home = `${home}?preview=${context.isPreview}`\n }\n\n let buttonSlots = {\n 0: [],\n 10: [logXButton],\n 20: [],\n 30: [languagesButton],\n 40: [],\n 50: [changeEpisodeButton],\n 60: [],\n 70: [faqButton],\n 80: [],\n 90: [evaluationButton],\n 100: []\n }\n\n const buttonSlotsKeys = Object.keys(buttonSlots)\n\n if (props.episode?.navbar_custom_buttons_configuration?.length) {\n props.episode.navbar_custom_buttons_configuration.forEach(item => {\n\n if (!item.alwaysVisible && !logged) {\n return;\n }\n\n const label = item.label[props.language] || item.label[context.event.default_lang] || item.label[\"en\"]\n\n var mapObj = {\n \"{EVENT_CODE}\": context.event?.id,\n \"{USER_TOKEN}\": getAuthToken()\n };\n\n const href = item.href.replace(/\\{EVENT_CODE\\}|\\{USER_TOKEN\\}/gi, function (matched) {\n return mapObj[matched];\n });\n\n const btnElement = (\n
  • \n {label}\n
  • \n )\n\n buttonSlots[item.position || 100].push(btnElement)\n })\n }\n\n\n let buttons = []\n buttonSlotsKeys.reverse().forEach(k => {\n buttons.push(buttonSlots[k])\n })\n return (\n <>\n \n {faqMOdal}\n {faqButton ? _faqMOdal : null}\n \n )\n})\n\nexport default Navbar","export const DEFAULT = 0;\nexport const MSD_CTIO = 1","import { useContext } from 'react';\nimport { MSD_CTIO } from '../config/registrationFlows';\nimport MainContext from '../context/MainContext';\n\nfunction useRegistrtionFlow() {\n\n const context = useContext(MainContext)\n\n const isMsdCtio2022 = () => {\n return [MSD_CTIO].includes(window._.get(context, \"event.registration_flow\"))\n }\n\n return {\n _isMsdCtio2022: () => isMsdCtio2022(),\n };\n}\n\nexport default useRegistrtionFlow","import React from 'react';\nimport classNames from \"classnames\"\n\nconst LightText = (props) => {\n\n const El = props.as || \"div\"\n\n const className = classNames(props.className, \"light-text\")\n\n return (\n \n {props.children}\n \n )\n}\n\nexport default LightText","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\nimport Button from \"../../ui/Button/Button\";\n\nconst PreRegistrationModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const siteTitle = context.contents.eventTitle\n const okButtonText = context.contents.yesCorrect\n const koButtonText = context.contents.noTakeMeBack\n\n const grid = (\n \n \n
    \n {siteTitle}\n
    \n \n {\n props.content && props.emailAddress ?\n (\n \n
    \n \n \n {props.emailAddress}\n
    \n \n \n {okButtonText}\n \n \n {koButtonText}\n \n \n \n \n ) : null\n }\n \n )\n\n const modal = (\n props.onClose()}\n />\n )\n\n return modal\n}\n\nexport default PreRegistrationModal","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\nimport Button from \"../../ui/Button/Button\";\nimport { getContents } from \"../../utils/functions\";\n\nconst EpisodesListEmptyModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const siteTitle = context.contents.eventTitle\n // const okButtonText = context.contents.yesCorrect\n // const koButtonText = context.contents.noTakeMeBack\n const content = getContents(context, `registrationEmptyListErrorVariant${context.registrationMode}`)\n\n const grid = (\n \n \n
    \n {siteTitle}\n
    \n \n {\n content ?\n (\n \n
    \n \n {/* \n \n Ok\n \n
    */}\n \n \n ) : null\n }\n \n )\n\n const modal = (\n props.onClose()}\n />\n )\n\n return modal\n}\n\nexport default EpisodesListEmptyModal","import React, { useContext, useEffect, useState } from \"react\";\nimport _ from \"lodash\"\nimport classNames from \"classnames\"\nimport Input from \"../Input/Input\";\nimport Button from \"../../ui/Button/Button\";\nimport { client } from \"../../api/functions\";\nimport MainContext from \"../../context/MainContext\";\nimport { consoleLog, getContents, getThemeConfig } from \"../../utils/functions\";\nimport LightText from \"../../ui/LightText/LightText\";\nimport Spin from \"../../ui/Spin/Spin\";\nimport PreRegistrationModal from \"../PreRegistrationModal/PreRegistrationModal\";\nimport Row from \"../../ui/Row/Row\";\nimport EpisodesListEmptyModal from \"../EpisodesListEmptyModal/EpisodesListEmptyModal\";\n// import { InlineLoading, ModalBody, ModalFooter } from \"carbon-components-react\";\n\n// import Skeleton from \"forms/inputs/Skeleton\";\n// import client from \"client/client\";\n\n// Avoid rendering\n// let values = {};\nlet rules = {};\n// let loaded = false;\n\nconst Form = (props) => {\n\n const context = useContext(MainContext)\n\n /**\n * Field values\n */\n const [values, setValues] = useState({}); // Comment to avoid rendering\n // const setValues = (newValues) => {\n // values = newValues;\n // };\n /**\n * Validation errors\n */\n const [errors, setErrors] = useState({});\n\n /**\n * Loaded data indicator\n */\n const [loaded, setLoaded] = useState(true); // Comment to avoid rendering\n // const setLoaded = (newLoaded) => {\n // loaded = newLoaded;\n // };\n /**\n * Set the list of touched fields\n */\n const [touched, setTouched] = useState([]);\n\n /**\n * Set the list of validation rules\n */\n // const [rules, setRules] = useState([]); // Comment to avoid rendering\n const setRules = (newRules) => {\n rules = newRules;\n };\n\n /**\n * Element ID\n */\n const [itemId, setItemId] = useState(null);\n\n /**\n * Saving indicator. Set to `true` when form is sendig data to backend\n */\n const [saving, setSaving] = useState(false);\n\n /**\n * Set to `true` when backend returns correct response\n */\n const [savingSuccess, setSavingSuccess] = useState(false);\n\n /**\n * Set to `true` when backend returns an error\n */\n const [savingErrors, setSavingErrors] = useState(false);\n\n /**\n * Set to `true` when backend returns an error in order to call `clearErrors` method as soon as a user touch an input field\n */\n const [sentWithErrors, setSentWithErrors] = useState(false);\n\n /**\n * Set to `true` when backend returns an error in order to call `clearErrors` method as soon as a user touch an input field\n */\n const [validated, setValidated] = useState(false);\n\n const [required, setRequired] = useState([]);\n\n const [preRegistrationModalOpen, setPreRegistrationModalOpen] = useState(false)\n const [episodesListEmptyModalOpen, setEpisodesListEmptyModalOpen] = useState(false)\n\n /**\n * Initialize values and rules arrays\n */\n useEffect(() => {\n if (!_.isEmpty(touched) && props.blockTouched) {\n return false\n }\n let fields = {};\n let rules = {};\n props.fields.forEach((element) => {\n if (!_.isEmpty(element.id)) {\n // console.log(\"Form\", element.id, element.value)\n fields = {\n ...fields,\n [element.id]: element.value,\n };\n // if (element.rules) {\n // rules = {\n // ...rules,\n // [element.id]: element.rules,\n // };\n // }\n }\n });\n setValues(fields);\n\n setRequired(getRequired())\n // setRules(rules);\n }, [props.fields]);\n\n useEffect(() => {\n if (!props.blockTouched) {\n setTouched([]);\n }\n }, [props.defaultParams]);\n\n useEffect(() => {\n setItemId(props.itemId)\n setTouched([])\n }, [props.itemId]);\n\n useEffect(() => {\n if (props.onTouched) {\n props.onTouched(touched)\n }\n }, [touched]);\n\n const onEmailConfirmed = (e) => {\n setPreRegistrationModalOpen(false)\n if (\n props.modalOnEmptyEpisodesList &&\n context.event.episodes.filter(item => item.has_future_events).length === 0\n ) {\n setEpisodesListEmptyModalOpen(true)\n }\n else {\n onSubmit(e)\n }\n }\n\n const onSubmit = async (e, forceParams) => {\n e.preventDefault()\n\n onSavingChange(true)\n let res = null\n\n const params = forceParams || cleanValues()\n try {\n // if ((itemId && itemId !== \"new\") || props.method === \"put\") {\n // res = await client.put([props.endpoint, itemId].join(\"/\"), params);\n // } else {\n // res = await client.post(props.endpoint, params);\n // }\n if (itemId) {\n res = await client.put(`${props.endpoint}/${itemId}`, params);\n }\n else {\n res = await client.post(props.endpoint, params);\n }\n if (res.data) {\n setSavingSuccess(true);\n if (props.checkMetas) {\n props.checkMetas(res.data.meta)\n }\n if (props.onSubmit) {\n props.onSubmit(res.data.data)\n }\n if (props.setAutoId) {\n setItemId(res.data.data.id)\n }\n setTouched([])\n } else {\n setSavingErrors(true);\n }\n }\n catch (e) {\n console.error(\"clearStatus\", window._.get(e, \"response.data.errors\"))\n const newErrors = window._.get(e, \"response.data.errors\")\n setErrors(newErrors)\n context.openFormErrorsModal(newErrors)\n clearStatus();\n }\n setValidated(true)\n // setTouched([])\n window.setTimeout(() => {\n clearStatus();\n }, 1000);\n };\n\n const onSavingChange = (value) => {\n setSaving(value)\n if (props.onSavingChange) {\n props.onSavingChange(value)\n }\n }\n\n const cleanValues = (forceValues) => {\n\n const params = forceValues || values\n const cleaned = (props.cleanValues) ?\n props.cleanValues(params) : params\n return {\n ...cleaned,\n ...props.defaultParams\n };\n };\n\n /**\n * Handle field change Event. Called when user changes manually single field value\n *\n * @param {Event} e\n * @param {String} name\n * @param {Boolean} skipTouch\n */\n const handleChange = (e, name, skipTouch) => {\n // console.log(\"handleChange\", e, name, skipTouch)\n let value = null;\n if (e.target) {\n value = e.target.value;\n if (e.target.type === \"checkbox\") {\n value = e.target.checked\n }\n } else if (e.selectedItem) {\n value = e.selectedItem.id;\n } else if (e.selectedItems) {\n value = e.selectedItems.map((item) => item.id);\n } else if (e.value) {\n value = e.value;\n } else {\n value = e;\n }\n\n // Clear errors if is the first time user touches something after clicked `save` button\n if (sentWithErrors) {\n clearErrors();\n setSentWithErrors(false);\n }\n setValue(name, value);\n if (!skipTouch) {\n touch(name, value);\n }\n if (props.onChange) {\n props.onChange(name, value)\n }\n };\n\n const editValues = (name, value) => {\n const newValues = (name) ? {\n ...values,\n [name]: value,\n } : values\n return cleanValues(newValues)\n }\n\n // const setValue = (name, value, args) => {\n // console.log(\"setValue\", name, value, {\n // ...values,\n // [name]: value,\n // })\n // setValues({\n // ...values,\n // [name]: value,\n // });\n // };\n const setValue = (name, value) => {\n consoleLog(\"touchsetvalue\", name, value, {\n ...values,\n [name]: value,\n })\n setValues({\n ...values,\n [name]: value,\n });\n };\n\n const getValues = () => {\n return values;\n };\n\n const getValue = (name) => {\n return values ? values[name] : \"\";\n };\n\n const setError = (name, value, args) => {\n setErrors({\n ...errors,\n [name]: value,\n });\n };\n\n const clearErrors = () => {\n setErrors({});\n };\n\n /**\n * Reset all status\n */\n const clearStatus = () => {\n setSavingSuccess(false);\n setSavingErrors(false);\n onSavingChange(false);\n };\n\n /**\n * Updated touched fields list\n *\n * @param {String} name\n * @param value\n */\n const touch = (name, value) => {\n consoleLog(\"touch\", name, value)\n setTouched({\n ...touched,\n [name]: value,\n });\n };\n\n const openConfirmationPopup = (e) => {\n e.preventDefault()\n // Blur button\n e.target.blur()\n setPreRegistrationModalOpen(true)\n }\n const getRequired = () => {\n return props.fields.filter((attributes) => {\n return attributes.required\n }).map(attributes => attributes.name)\n }\n\n const getFields = (section) => {\n\n return props.fields.map((attributes) => {\n if (section && section !== attributes.section) {\n return null\n }\n if (!section && attributes.section) {\n return null\n }\n let { value, id, ...item } = attributes;\n const keyPostfix = (itemId) ? [itemId, id].join(\"-\") : id\n // if (loaded) {\n let itemProps = {\n ...item,\n id: keyPostfix,\n name: keyPostfix,\n onChange: (e, skipTouch) => {\n if (attributes.onChange) {\n attributes.onChange(e, skipTouch)\n }\n handleChange(e, id, skipTouch)\n },\n // compareValues: props.compareValues,\n original: attributes.original,\n invalid: errors[id],\n invalidText: errors[id] ? createErrorMessage(errors[id]) : null,\n defaultValue: attributes.value,\n labelHtml: attributes.labelHtml,\n popupContent: attributes.popupContent,\n value: getValue(id)\n };\n\n return ;\n // } else {\n // return null\n // // return ;\n // }\n }).filter(item => item !== null);\n };\n\n const onFormSubmit = (e) => {\n if (submitDisabled()) {\n props.onSubmitDisabled()\n }\n else if (props.confirmBeforeSubmit) {\n openConfirmationPopup(e)\n }\n else {\n onSubmit(e)\n }\n }\n\n const submitDisabled = (isButton) => {\n if (props.forceEnableLoginButton && isButton) {\n return false\n }\n return (required.map(item => {\n return item\n }).filter(item => (\n getValue(item) === 0 ||\n !getValue(item) ||\n getValue(item) === [] ||\n getValue(item) === null)).length > 0 ||\n props.disableSubmit\n )\n }\n\n let buttonContent = (\n \n {\n saving ? (\n // \n \n ) :\n props.submitButtonLabel || \"Save\"\n }\n \n );\n\n if (saving) {\n // if (savingSuccess) {\n // buttonContent = ;\n // } else if (savingErrors) {\n // buttonContent = ;\n // } else {\n // buttonContent = ;\n // }\n }\n\n const createErrorMessage = (messages) => {\n return (messages) ? messages.join(\", \") : \"\"\n }\n\n const onUpdateClicked = (e) => {\n onSubmit(e, {\n ...cleanValues(),\n confirmed: 0\n })\n props.onUpdateClicked(e)\n }\n\n const requiredFields = (props.disableRequiredHelper) ? null : (\n \n * {getContents(context, \"requiredFields\")}\n \n )\n\n const footer = (getThemeConfig(context, \"registration-form.footer\") && props.isRegistration) ? (\n \n \n ) : null\n\n const footerHelp = (getThemeConfig(context, \"registration-form.footer\") && props.isRegistration) ? (\n \n \n ) : null\n\n const goToLoginForm = (props.isRegistration) ? (getContents(context, \"goToLoginForm\")) ? (\n context.setLoginModalOpen(true)}\n className=\"registration-form__gotologin\"\n dangerouslySetInnerHTML={{ __html: getContents(context, \"goToLoginForm\") }}>\n \n ) : null : null\n\n if (!props.modal) {\n const abortButton = (props.abortButton && props.onAbortClicked) ? (\n \n Close\n \n ) : null\n\n const deleteButton = (props.deleteButton && props.onDeleteClicked) ? (\n \n Delete permanently\n \n ) : null\n\n const updateButton = (props.updateButton && props.onUpdateClicked) ? (\n \n Save for later\n \n ) : null\n\n const buttons = (!props.hideSubmitButton) ? (\n
    \n
    \n {buttonContent}{updateButton}{abortButton}{deleteButton}\n
    \n
    \n ) : null\n\n const preRegsitrationForm = (props.isRegistration) ? (\n onEmailConfirmed(e)}\n onCancel={() => setPreRegistrationModalOpen(false)}\n onClose={() => setPreRegistrationModalOpen(false)}\n />\n ) : null\n\n const episodesListEmptyModal = (props.modalOnEmptyEpisodesList) ? (\n onEmailConfirmed(e)}\n onCancel={() => setEpisodesListEmptyModalOpen(false)}\n onClose={() => setEpisodesListEmptyModalOpen(false)}\n />\n ) : null\n\n const form = (\n
    \n {getFields()}\n {footerHelp}\n {getFields(\"footer\")}\n {requiredFields}\n {\n props.inline ? null : buttons\n }\n {goToLoginForm}\n {footer}\n
    \n )\n\n const output = props.inline ? (\n \n
    \n {form}\n
    \n
    \n \n {buttons}\n
    \n
    \n ) : form\n\n return (\n <>\n {output}\n {preRegsitrationForm}\n {episodesListEmptyModal}\n \n );\n }\n else {\n return null\n }\n};\n\nForm.timeouts = []\n\nexport default Form\n","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\n\nconst ApIdForumCovid19Form = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Infectious diseases specialist\",\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Infectious diseases specialist\",\n label: \"Infectious diseases specialist\"\n }, {\n value: \"Family physician\",\n label: \"Family physician\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Virologist\",\n label: \"Virologist\"\n }, {\n value: \"Pulmonologist\",\n label: \"Pulmonologist\"\n }, {\n value: \"Emergency physician\",\n label: \"Emergency physician\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"lang_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n if (context.country || parseInt(context.internal)) {\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n }\n // setRequiredTos(newRequiredTos)\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.registrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default ApIdForumCovid19Form","import { useState } from 'react';\n\nfunction useThreeStatesInternal() {\n\n const [initial, setInitial] = useState(true);\n\n const onTouched = (e) => {\n const keys = Object.keys(e)\n console.log(\"setTouched\", e, keys)\n if (keys.includes(\"is_internal\")) {\n setInitial(false)\n }\n }\n\n const isInternalField = ({ context, getValue }) => {\n return {\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n placeholder: initial ? window._.get(context, \"contents.internal\") || \"Internal\" : null,\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\"),\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n }\n }\n\n return {\n initial: initial,\n onTouched: (e) => onTouched(e),\n isInternalField: (e) => isInternalField(e)\n };\n}\n\nexport default useThreeStatesInternal","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\nimport useThreeStatesInternal from '../../hooks/useThreeStatesInternal';\n\nconst ApidGnWebinarRegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const {\n initial,\n onTouched,\n isInternalField\n } = useThreeStatesInternal()\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push(isInternalField({\n context: context,\n getValue: (e) => getValue(e)\n }))\n }\n\n if (!initial) {\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Infectious diseases specialist\",\n label: \"Infectious diseases specialist\"\n }, {\n value: \"Pulmonologist\",\n label: \"Pulmonologist\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Microbiologist\",\n label: \"Microbiologist\"\n }, {\n value: \"Emergency Physician\",\n label: \"Emergency Physician\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\"),\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"lang_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.registrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n onTouched={(val) => onTouched(val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default ApidGnWebinarRegistrationForm","/* eslint-disable default-case */\nimport { useContext, useEffect, useState } from 'react';\nimport { ThemeContext } from 'styled-components';\nimport { buildQuery } from '../api/functions';\nimport Form from '../components/Form/Form';\nimport MainContext from '../context/MainContext';\nimport { consoleLog, getContents, getThemeConfig } from '../utils/functions';\nimport useRegistrtionFlow from './useRegistrtionFlow';\n\nfunction useRegistrtionForm(props = {}) {\n\n const context = useContext(MainContext)\n const [version, setVersion] = useState(1);\n const [previousValues, setPreviousValues] = useState({});\n const [defaultValues, setDefaultValues] = useState({});\n const [touched, setTouched] = useState([]);\n const themeContext = useContext(ThemeContext);\n\n const { forceEnableLoginButton, onSubmitDisabled, multiselectFields } = props\n\n const {\n _isMsdCtio2022\n } = useRegistrtionFlow()\n\n useEffect(() => {\n if (_isMsdCtio2022()) {\n context.setRegistrationMode(getValue(\"registration_mode\"))\n }\n }, [])\n\n let newRequiredTos = []\n const getEndpoint = () => {\n const query = buildQuery({});\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n }\n\n const onChange = (key, value) => {\n // console.log(\"onChange\", key, value);\n setPreviousValues(defaultValues)\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"country_id_of_work\":\n context.setCountryOfWork(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n case \"registration_mode\":\n context.setRegistrationMode(value)\n break\n case \"episode_categories_id\":\n context.setSelectedEpisodeCategories(value)\n break\n case \"episodes_id\":\n context.setSelectedEpisodes(value)\n break\n case \"episodes\":\n context.setSelectedEpisodes(value)\n break\n case \"stream_id\":\n context.setSelectedStreamId(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n // const countries = [{\n // id: null,\n // label: window._.get(context, \"contents.country\") || \"Country\",\n // code: null\n // }].concat(window._.get(context, \"event.countries\"))\n\n const allCountries = window._.get(context, \"event.all_countries\")\n // const allCountries = [{\n // id: null,\n // label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n // code: null\n // }].concat(window._.get(context, \"event.all_countries\"))\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n return disable\n }\n\n const getLegals = () => {\n let _fields = []\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n _fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n hide_asterisk: item.hide_asterisk,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n }\n })\n }\n\n return _fields\n }\n\n const cleanValues = (values) => {\n let cleaned = {}\n Object.keys(values).forEach(k => {\n\n let value = (values[k].value !== undefined && values[k].value !== null) ? values[k].value : values[k]\n if (multiselectFields?.indexOf(k) >= 0) {\n value = value?.map(item => item.value)?.join(\", \")\n }\n cleaned = {\n ...cleaned,\n [k]: value\n }\n })\n\n return cleaned\n }\n\n const getSpecialtyOptions = (langId) => {\n let options = []\n if (!langId) {\n langId = context.event?.default_language\n }\n const specialties = context.event?.registration_form_specialties[langId] || {}\n Object.keys(specialties).forEach(k => {\n options.push({\n value: k,\n label: specialties[k]\n })\n })\n\n return options\n }\n\n const onTouched = (e) => {\n setTouched(e)\n }\n\n const updateValues = (values) => {\n setDefaultValues(values)\n setVersion(version => ++version)\n }\n\n const output = (fields, extraProps) => {\n return (\n
    \n {logo}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n cleanValues={(values) => cleanValues(values)}\n isRegistration={true}\n forceEnableLoginButton={forceEnableLoginButton}\n onSubmitDisabled={onSubmitDisabled}\n onTouched={onTouched}\n {...extraProps}\n // modalOnEmptyEpisodesList={_isMsdCtio2022()}\n />\n
    \n )\n }\n return {\n output: (fields, extraProps) => output(fields, extraProps),\n countries: countries,\n allCountries: allCountries,\n touched: touched,\n formValues: defaultValues,\n previousFormValues: previousValues,\n getLegals: getLegals,\n getEndpoint: getEndpoint,\n getSpecialtyOptions: getSpecialtyOptions,\n // setFields: (value) => setFields(value),\n getValue: (name, type) => getValue(name, type),\n onChange: (key, value) => onChange(key, value),\n onSubmit: (params) => onSubmit(params),\n updateValues: (values) => updateValues(values)\n };\n}\n\nexport default useRegistrtionForm","import { useContext } from 'react';\n\nimport MainContext from '../../context/MainContext';\nimport useRegistrtionForm from '../../hooks/useRegistrtionForm';\nimport { capitalize } from '../../utils/functions';\n\nconst ApIdGyn2023Form = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals,\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n \"Gynecology\",\n \"Internal Medicine\",\n \"Medical Oncology\",\n \"Pathology\",\n \"Radiology\",\n \"Surgeons\",\n \"Others\"\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Internal Medicine\": \"Internal Medicine\",\n \"Medical Oncology\": \"Medical Oncology\",\n \"Surgeons\": \"Surgeons\",\n \"Radiology\": \"Radiology\",\n \"Gynecology\": \"Gynecology\",\n \"Pathology\": \"Pathology\",\n \"Others\": \"Others\"\n }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n ])\n\n if (!parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n },\n {\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n }]\n )\n if (getValue(\"specialty\") === \"Others\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n },\n {\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n }]\n )\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n fields.push(\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n }\n )\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default ApIdGyn2023Form","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\nimport useThreeStatesInternal from '../../hooks/useThreeStatesInternal';\n\nconst ApidRegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const {\n initial,\n onTouched,\n isInternalField\n } = useThreeStatesInternal()\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push(isInternalField({\n context: context,\n getValue: (e) => getValue(e)\n }))\n }\n\n if (!initial) {\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Infectious diseases specialist\",\n label: \"Infectious diseases specialist\"\n }, {\n value: \"Pediatrician\",\n label: \"Pediatrician\"\n }, {\n value: \"Family physician\",\n label: \"Family physician\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Microbiologist\",\n label: \"Microbiologist\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\"),\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n }\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"lang_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.registrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n onTouched={(val) => onTouched(val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default ApidRegistrationForm","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\n\nconst Eurogin2021RegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"is_internal\",\n // name: \"is_internal\",\n // // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.internal\"),\n // value: context.internal\n // })\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n // disabled: parseInt(context.internal),\n options: (parseInt(context.internal)) ? allCountries : countries || []\n })\n }\n\n // if (!parseInt(context.internal)) {\n // fields.push({\n // elementType: \"select\",\n // id: \"country_id\",\n // name: \"country_id\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.country\") || \"Country\",\n // placeholder: window._.get(context, \"contents.country\") || \"Country\",\n // value: getValue(\"country_id\") || context.country,\n // disabled: parseInt(context.internal),\n // options: countries || []\n // })\n // }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"lang_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n if (context.country || context.internal) {\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"text\",\n id: \"specialty\",\n name: \"specialty\",\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n },\n {\n elementType: \"text\",\n id: \"affiliation\",\n name: \"affiliation\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n placeholder: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n value: getValue(\"affiliation\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"Email\",\n value: getValue(\"email\"),\n },\n {\n elementType: \"text\",\n id: \"phone\",\n name: \"phone\",\n label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n value: getValue(\"phone\"),\n }\n ])\n\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n }\n // setRequiredTos(newRequiredTos)\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.registrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default Eurogin2021RegistrationForm","import { useContext } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\n\nconst EdizioniDmRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ];\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const countriesList = countries || []\n\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"lang_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n const countryField = countriesList.length > 1 ? {\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\"),\n options: countries || []\n\n } : {\n elementType: \"hidden\",\n id: \"country_id\",\n name: \"country_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n countryField,\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n {\n elementType: \"text\",\n id: \"phone\",\n name: \"phone\",\n label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n value: getValue(\"phone\"),\n }\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default EdizioniDmRegistrationForm","import React, { useContext, useState, } from 'react';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../../utils/functions';\nimport Form from '../../Form/Form';\n\nimport { ThemeContext } from 'styled-components';\n\nimport { buildQuery } from '../../../api/functions';\nimport MainContext from '../../../context/MainContext';\nimport LightText from '../../../ui/LightText/LightText';\n\nconst MSDApNiasBRegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"is_internal\",\n // name: \"is_internal\",\n // // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.internal\"),\n // value: context.internal\n // })\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n }\n ])\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"institution\",\n name: \"institution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Institution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Institution\",\n value: getValue(\"institution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Anaesthesiologist\",\n label: \"Anaesthesiologist\"\n }, {\n value: \"Surgeon\",\n label: \"Surgeon\"\n }, {\n value: \"Allied Health Professional\",\n label: \"Allied Health Professional\"\n }\n // , {\n // value: \"Other\",\n // label: \"Others (Please specify)\"\n // }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n // placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n // if (context.country || parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n // }\n\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default MSDApNiasBRegistrationForm","import React, { useContext, useState, } from 'react';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../../utils/functions';\nimport Form from '../../Form/Form';\n\nimport { ThemeContext } from 'styled-components';\n\nimport { buildQuery } from '../../../api/functions';\nimport MainContext from '../../../context/MainContext';\nimport LightText from '../../../ui/LightText/LightText';\n\nconst MSDApNiasRegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = [{\n id: null,\n label: \"-\",\n code: null\n }].concat(window._.get(context, \"event.countries\"))\n\n const allCountries = [{\n id: null,\n label: \"-\",\n code: null\n }].concat(window._.get(context, \"event.all_countries\"))\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"is_internal\",\n // name: \"is_internal\",\n // // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.internal\"),\n // value: context.internal\n // })\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n }\n ])\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"institution\",\n name: \"institution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Institution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Institution\",\n value: getValue(\"institution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Trainee Anaesthetists\",\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Trainee Anaesthetists\",\n label: \"Trainee Anaesthetists\"\n }, {\n value: \"Anaesthetists\",\n label: \"Anaesthetists\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Nurses\",\n label: \"Nurses\"\n }, {\n value: \"Surgeons\",\n label: \"Surgeons\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n // if (context.country || parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n // }\n\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default MSDApNiasRegistrationForm","import { useContext, useState, } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\nimport { capitalize } from '../../../utils/functions';\n\nconst MSDApNmbUpdates2021RegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n }])\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Trainee Anaesthetists\",\n label: \"Trainee Anaesthetists\"\n }, {\n value: \"Anaesthetists\",\n label: \"Anaesthetists\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Nurses\",\n label: \"Nurses\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n // To include a free text box below “other” to specify the speciality \n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n // To include a free text box below “other” to specify the department.\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default MSDApNmbUpdates2021RegistrationForm","import { useContext, useState, } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\nimport { capitalize } from '../../../utils/functions';\nimport useThreeStatesInternal from '../../../hooks/useThreeStatesInternal';\n\nconst MSDAPSmartMeetingRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n const {\n initial,\n onTouched,\n isInternalField\n } = useThreeStatesInternal()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n \"Microbiologist\",\n \"Infectious Diseases Specialist\",\n \"Laboratory Technician\",\n \"Other\"\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Microbiologist\": \"Microbiologist\",\n \"Infectious Diseases Specialist\": \"Infectious Diseases Specialist\",\n \"Laboratory Technician\": \"Laboratory Technician\",\n \"Other\": \"Other (please specify)\"\n }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push(isInternalField({\n context: context,\n getValue: (e) => getValue(e)\n }))\n }\n\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n ])\n\n if (!initial) {\n if (!parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n },\n {\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n }]\n )\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n }]\n )\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n }\n\n fields.push(\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n }\n )\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields, {\n onTouched: (e) => onTouched(e)\n })\n}\n\nexport default MSDAPSmartMeetingRegistrationForm","import { useContext, useState, } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\nimport { capitalize } from '../../../utils/functions';\n\nconst MSDCovidSassRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n\n \"Infectious Diseases Specialist\",\n \"Critical care physician / Pulmonologist\",\n \"Emergency doctor\",\n \"General Practitioner / Family Medicine\",\n \"Virologist / Microbiologist\",\n \"Pharmacist\",\n \"Others\"\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n\n \"Infectious Diseases Specialist\": \"Infectious Diseases Specialist\",\n \"Critical care physician / Pulmonologist\": \"Critical care physician / Pulmonologist\",\n \"Emergency doctor\": \"Emergency doctor\",\n \"General Practitioner / Family Medicine\": \"General Practitioner / Family Medicine\",\n \"Virologist / Microbiologist\": \"Virologist / Microbiologist\",\n \"Pharmacist\": \"Pharmacist\",\n \"Others\": \"Others (please specify)\"\n }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n ])\n\n if (!parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n },\n {\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n }]\n )\n if (getValue(\"specialty\") === \"Others\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n },\n {\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n }]\n )\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n fields.push(\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n }\n )\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default MSDCovidSassRegistrationForm","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\n\nconst FormIsNotValidModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n\n\n const grid = (\n \n \n {\n context.loginErrors ? (\n \n {\"Please complete all the required fields\"}\n \n ) : null\n }\n \n \n )\n\n const modal = (\n props.onClose()}\n />\n )\n\n return modal\n}\n\nexport default FormIsNotValidModal","/* eslint-disable default-case */\nimport { useContext, useState, } from 'react';\n\nimport MainContext from '../../context/MainContext';\nimport useRegistrtionForm from '../../hooks/useRegistrtionForm';\nimport FormIsNotValidModal from '../FormIsNotValidModal/FormIsNotValidModal';\n\n/**\n * MSD CTIO 2022\n * @param {object} props \n * @returns \n */\nconst MSDCtioRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const [modalOpen, setModalOpen] = useState(false)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm({\n forceEnableLoginButton: true,\n onSubmitDisabled: () => setModalOpen(true)\n })\n\n let fields = [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"lang_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n \"Endocrinology\",\n \"Gastroenterology\",\n \"Hematology\",\n \"Hepatology\",\n \"Internal Medicine\",\n \"Medical Oncology\",\n \"Pathology\",\n \"Pulmonology\",\n \"Radiology\",\n \"Surgeon\",\n \"Urology\",\n \"Others\"\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Endocrinology\": \"Endocrinology\",\n \"Gastroenterology\": \"Gastroenterology\",\n \"Hematology\": \"Hematology\",\n \"Hepatology\": \"Hepatology\",\n \"Internal Medicine\": \"Internal Medicine\",\n \"Medical Oncology\": \"Medical Oncology\",\n \"Pathology\": \"Pathology\",\n \"Pulmonology\": \"Pulmonology\",\n \"Radiology\": \"Radiology\",\n \"Surgeon\": \"Surgeon\",\n \"Urology\": \"Urology\",\n \"Others\": \"Others (Please specify)\"\n }\n }\n\n return values.map(item => {\n return {\n id: item,\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n const is_internal_options = [{\n value: \"ext\",//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: \"int\",//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n fields.push({\n elementType: \"singleselect\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n placeholder: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") ? is_internal_options.find(a => getValue(\"is_internal\") == a.value) : null,\n options: is_internal_options\n })\n }\n\n switch (context.event.registration_flow) {\n case 1:\n const registration_mode_options = [\n {\n key: 101,\n value: 101,//internal_false_value_label\n label: window._.get(context, \"contents.registrationModeTitleA\") || \"A\",\n }, {\n key: 102,\n value: 102,//internal_false_value_label\n label: window._.get(context, \"contents.registrationModeTitleB\") || \"B\",\n }, {\n key: 100,\n value: 100,//internal_false_value_label\n label: window._.get(context, \"contents.registrationModeTitleC\") || \"C\",\n }]\n fields = fields.concat({\n elementType: \"singleselect\",\n id: \"registration_mode\",\n name: \"registration_mode\",\n required: true,\n placeholder: window._.get(context, \"contents.registrationMode\") || \"Mode\",\n value: getValue(\"registration_mode\") ? registration_mode_options.find(a => getValue(\"registration_mode\") == a.value) : null,\n options: registration_mode_options\n })\n break\n }\n\n switch (parseInt(getValue(\"registration_mode\"))) {\n case 100:\n fields = fields.concat({\n elementType: \"multiselect\",\n id: \"episodes_id\",\n name: \"episodes_id\",\n required: true,\n closeOnSelect: false,\n placeholder: window._.get(context, \"contents.selectEpisodes\") || \"Mode\",\n // label: window._.get(context, \"contents.selectEpisodes\") || \"Mode\",\n value: getValue(\"episodes_id\") || \"\",\n displayValue: \"name\",\n showCheckbox: true,\n options: window._.get(context, \"event.episodes\", []).filter(item => {\n return item.has_future_events && item.is_subscriptions_open\n }).map(item => {\n // options: window._.get(context, \"allEpisodes\", []).map(item => {\n return {\n name: [item.dropdown_label, item.title].join(\" - \"),\n id: item.id,\n key: item.id\n }\n })\n })\n break\n case 102:\n fields = fields.concat({\n elementType: \"multiselect\",\n id: \"episode_categories_id\",\n name: \"episode_categories_id\",\n required: true,\n closeOnSelect: false,\n placeholder: window._.get(context, \"contents.episodeCategories\") || \"Categories\",\n // label: window._.get(context, \"contents.episodeCategories\") || \"Categories\",\n value: getValue(\"episode_categories_id\") || \"\",\n displayValue: \"name\",\n showCheckbox: true,\n options: window._.get(context, \"episodeCategories\", []).map(item => {\n return {\n name: item.title_default,\n id: item.id,\n key: item.id\n }\n })\n })\n break\n // case \"101\": ALL WEBCAST\n // case \"102\": EPISODE CATEGORIES\n }\n\n if (!context.internal) {\n fields.push({\n elementType: \"singleselect\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n // value: getValue(\"country_id\") || context.country,\n value: getValue(\"country_id\") ? countries.find(a => getValue(\"country_id\") == a.value) : null,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n }\n else {\n fields.push({\n elementType: \"singleselect\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n // value: getValue(\"country_id_of_work\") || context.country,\n value: getValue(\"country_id_of_work\") ? allCountries.find(a => getValue(\"country_id_of_work\") == a.value) : null,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n }\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"singleselect\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n // value: getValue(\"specialty\") || \"\",\n value: getValue(\"specialty\") ? getSpecialtyOptions().find(a => getValue(\"specialty\") == a.value) : null,\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n },\n ])\n if (getValue(\"specialty\") === \"Others\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"affiliation\",\n name: \"affiliation\",\n required: true,\n // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n placeholder: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n value: getValue(\"affiliation\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n }\n // ,\n // {\n // elementType: \"text\",\n // id: \"phone\",\n // name: \"phone\",\n // // label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n // placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n // value: getValue(\"phone\"),\n // }\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return (\n <>\n {output(fields)}\n setModalOpen(false)}\n />\n \n )\n}\n\nexport default MSDCtioRegistrationForm","import { useContext } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\n\nconst MSDGlobalCmvRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n // \"Microbiologist\",\n // \"Critical Care / Intensivist\",\n // \"Infectious Disease\",\n // \"Internal / Pulmonologist\",\n // \"Hospital Pharmacist\",\n // \"MSD\",\n // \"Other\"\n \"Critical Care / Intensive Care\",\n \"Clinical Pharmacologist\",\n \"Hematologist\",\n \"Hospital Pharmacist\",\n \"Infectious Disease\",\n \"Nephrologist\",\n \"Transplant Physician\",\n \"Other\",\n \"MSD\",\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Critical Care / Intensive Care\": \"Critical Care / Intensive Care\",\n \"Clinical Pharmacologist\": \"Clinical Pharmacologist\",\n \"Hematologist\": \"Hematologist\",\n \"Hospital Pharmacist\": \"Hospital Pharmacist\",\n \"Infectious Disease\": \"Infectious Disease\",\n \"Nephrologist\": \"Nephrologist\",\n \"Transplant Physician\": \"Transplant Physician\",\n \"Other\": \"Other\",\n \"MSD\": \"MSD\",\n },\n \"es\": {\n \"Critical Care / Intensive Care\": \"Cuidado Crítico / Cuidado Intensivo\",\n \"Clinical Pharmacologist\": \"Farmacólogo Clínico\",\n \"Hematologist\": \"Hematólogo\",\n \"Hospital Pharmacist\": \"Farmacéutico Hospitalario\",\n \"Infectious Disease\": \"Enfermedade Infecciosa\",\n \"Nephrologist\": \"Nefrólogo\",\n \"Transplant Physician\": \"Trasplantólogo\",\n \"Other\": \"Otros\",\n \"MSD\": \"MSD\",\n },\n \"zh\": {\n \"Critical Care / Intensive Care\": \"重症监护\",\n \"Clinical Pharmacologist\": \"临床药理学家\",\n \"Hematologist\": \"血液学家\",\n \"Hospital Pharmacist\": \"医院药剂师\",\n \"Infectious Disease\": \"传染病\",\n \"Nephrologist\": \"肾内科医生\",\n \"Transplant Physician\": \"移植医师\",\n \"Other\": \"其他\",\n \"MSD\": \"默沙东 (MSD)\",\n }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\"),\n disabled: parseInt(context.internal),\n options: countries || []\n })\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\"),\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n }\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n },\n {\n elementType: \"text\",\n id: \"affiliation\",\n name: \"affiliation\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n placeholder: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n value: getValue(\"affiliation\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n {\n elementType: \"text\",\n id: \"phone\",\n name: \"phone\",\n label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n value: getValue(\"phone\"),\n }\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default MSDGlobalCmvRegistrationForm","import { useContext, useState, } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\n\n/**\n * Eurogin KIND\n * @param {object} props \n * @returns \n */\nconst MSDGlobalHpv2021RegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n \"Infectious Disease Specialists\",\n \"Public Health Specialists\",\n \"Oncologists\",\n \"Gynecologists\",\n \"Urologists\",\n \"Virologists\",\n \"Pediatricians\",\n \"General/Family Practice\",\n \"Other\"\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Infectious Disease Specialists\": \"Infectious Disease Specialists\",\n \"Public Health Specialists\": \"Public Health Specialists\",\n \"Oncologists\": \"Oncologists\",\n \"Gynecologists\": \"Gynecologists\",\n \"Urologists\": \"Urologists\",\n \"Virologists\": \"Virologists\",\n \"Pediatricians\": \"Pediatricians\",\n \"General/Family Practice\": \"General/Family Practice\",\n \"Other\": \"Other (Please specify)\"\n }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n }\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n },\n ])\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"affiliation\",\n name: \"affiliation\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n placeholder: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n value: getValue(\"affiliation\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n {\n elementType: \"text\",\n id: \"phone\",\n name: \"phone\",\n label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n value: getValue(\"phone\"),\n }\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default MSDGlobalHpv2021RegistrationForm","import { useContext } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\nimport { capitalize } from '../../../utils/functions';\n\nconst MSDHncrResearchForum2022RegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n }])\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Clinical Oncologist\",\n label: \"Clinical Oncologist\"\n }, {\n value: \"Medical Oncologist\",\n label: \"Medical Oncologist\"\n }, {\n value: \"Pathologist\",\n label: \"Pathologist\"\n }, {\n value: \"Radiation Oncologist\",\n label: \"Radiation Oncologist\"\n }, {\n value: \"Researcher\",\n label: \"Researcher\"\n }, {\n value: \"Surgeon\",\n label: \"Surgeon\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n // To include a free text box below “other” to specify the speciality \n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n // To include a free text box below “other” to specify the department.\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default MSDHncrResearchForum2022RegistrationForm","import { useContext } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\n\n/**\n * Eurogin KIND\n * @param {object} props \n * @returns \n */\nconst MSDIdForum2021RegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n // \"Microbiologist\",\n // \"Critical Care / Intensivist\",\n // \"Infectious Disease\",\n // \"Internal / Pulmonologist\",\n // \"Hospital Pharmacist\",\n // \"MSD\",\n // \"Other\"\n \"Critical Care / Intensive Care\",\n \"Clinical Pharmacologists\",\n \"Hematologists\",\n \"Hospital Pharmacists\",\n \"Infectious Disease\",\n \"Microbiology\",\n \"Pulmonology / Respiratory\",\n \"Transplant Physicians\",\n \"Other\",\n \"MSD\",\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Critical Care / Intensive Care\": \"Critical Care / Intensive Care\",\n \"Clinical Pharmacologists\": \"Clinical Pharmacologists\",\n \"Hematologists\": \"Hematologists\",\n \"Hospital Pharmacists\": \"Hospital Pharmacists\",\n \"Infectious Disease\": \"Infectious Disease\",\n \"Microbiology\": \"Microbiology\",\n \"Pulmonology / Respiratory\": \"Pulmonology / Respiratory\",\n \"Transplant Physicians\": \"Transplant Physicians\",\n \"Other\": \"Other\",\n \"MSD\": \"MSD\",\n },\n \"es\": {\n \"Critical Care / Intensive Care\": \"Critical Care / Intensive Care\",\n \"Clinical Pharmacologists\": \"Clinical Pharmacologists\",\n \"Hematologists\": \"Hematologists\",\n \"Hospital Pharmacists\": \"Hospital Pharmacists\",\n \"Infectious Disease\": \"Infectious Disease\",\n \"Microbiology\": \"Microbiology\",\n \"Pulmonology / Respiratory\": \"Pulmonology / Respiratory\",\n \"Transplant Physicians\": \"Transplant Physicians\",\n \"Other\": \"Other\",\n \"MSD\": \"MSD\",\n },\n \"pt\": {\n \"Critical Care / Intensive Care\": \"Critical Care / Intensive Care\",\n \"Clinical Pharmacologists\": \"Clinical Pharmacologists\",\n \"Hematologists\": \"Hematologists\",\n \"Hospital Pharmacists\": \"Hospital Pharmacists\",\n \"Infectious Disease\": \"Infectious Disease\",\n \"Microbiology\": \"Microbiology\",\n \"Pulmonology / Respiratory\": \"Pulmonology / Respiratory\",\n \"Transplant Physicians\": \"Transplant Physicians\",\n \"Other\": \"Other\",\n \"MSD\": \"MSD\",\n }\n // \"en\": {\n // \"Microbiologist\": \"Microbiologist\",\n // \"Critical Care / Intensivist\": \"Critical Care / Intensivist\",\n // \"Infectious Disease\": \"Infectious Disease\",\n // \"Internal / Pulmonologist\": \"Internal / Pulmonologist\",\n // \"Hospital Pharmacist\": \"Hospital Pharmacist\",\n // \"MSD\": \"MSD\",\n // \"Other\": \"Other\"\n // },\n // \"es\": {\n // \"Microbiologist\": \"Microbiólogo\",\n // \"Critical Care / Intensivist\": \"Cuidados Intensivos/ Intensivista\",\n // \"Infectious Disease\": \"Enfermedades infecciosas\",\n // \"Internal / Pulmonologist\": \"Internista / Neumólogo\",\n // \"Hospital Pharmacist\": \"Farmacéutico hospitalario\",\n // \"MSD\": \"MSD\",\n // \"Other\": \"Otros\"\n // },\n // \"pt\": {\n // \"Microbiologist\": \"Microbiologist\",\n // \"Critical Care / Intensivist\": \"Terapia intensiva/ Intensivista\",\n // \"Infectious Disease\": \"Doença infecciosa\",\n // \"Internal / Pulmonologist\": \"Medicina interna/Pneumologista\",\n // \"Hospital Pharmacist\": \"Farmacêutico hospitalar\",\n // \"MSD\": \"MSD\",\n // \"Other\": \"Outros\"\n // },\n // \"fr\": {\n // \"Microbiologist\": \"Microbiologiste\",\n // \"Critical Care / Intensivist\": \"Soins critiques / Intensiviste\",\n // \"Infectious Disease\": \"Infectiologue\",\n // \"Internal / Pulmonologist\": \"Interniste / Pneumologue\",\n // \"Hospital Pharmacist\": \"Pharmacien hospitalier\",\n // \"MSD\": \"MSD\",\n // \"Other\": \"Autre\"\n // },\n // \"ru\": {\n // \"Microbiologist\": \"Микробиолог\",\n // \"Critical Care / Intensivist\": \"Специалист по интенсивной терапии / Реаниматолог\",\n // \"Infectious Disease\": \"Инфекционист\",\n // \"Internal / Pulmonologist\": \"Терапевт / Пульмонолог\",\n // \"Hospital Pharmacist\": \"Клинический фармацевт\",\n // \"MSD\": \"MSD\",\n // \"Other\": \"Другие\"\n // },\n // \"zh\": {\n // \"Microbiologist\": \"微生物学家\",\n // \"Critical Care / Intensivist\": \"重症监护/重症医师\",\n // \"Infectious Disease\": \"传染病\",\n // \"Internal / Pulmonologist\": \"内科/肺科医生\",\n // \"Hospital Pharmacist\": \"医院药剂师\",\n // \"MSD\": \"默沙东 (MSD)\",\n // \"Other\": \"其他\"\n // }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\"),\n disabled: parseInt(context.internal),\n options: countries || []\n })\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\"),\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n }\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n },\n {\n elementType: \"text\",\n id: \"affiliation\",\n name: \"affiliation\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n placeholder: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n value: getValue(\"affiliation\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n {\n elementType: \"text\",\n id: \"phone\",\n name: \"phone\",\n label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n value: getValue(\"phone\"),\n }\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default MSDIdForum2021RegistrationForm","import React, { useContext, useState, } from 'react';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../../utils/functions';\nimport Form from '../../Form/Form';\n\nimport { ThemeContext } from 'styled-components';\n\nimport { buildQuery } from '../../../api/functions';\nimport MainContext from '../../../context/MainContext';\nimport LightText from '../../../ui/LightText/LightText';\n\nconst MSDJcapMatchRegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = [{\n id: null,\n label: \"-\",\n code: null\n }].concat(window._.get(context, \"event.countries\"))\n\n const allCountries = [{\n id: null,\n label: \"-\",\n code: null\n }].concat(window._.get(context, \"event.all_countries\"))\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"is_internal\",\n // name: \"is_internal\",\n // // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.internal\"),\n // value: context.internal\n // })\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n }\n ])\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"institution\",\n name: \"institution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Institution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Institution\",\n value: getValue(\"institution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Internal Medicine\",\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Internal Medicine\",\n label: \"Internal Medicine\"\n }, {\n value: \"Medical Oncology\",\n label: \"Medical Oncology\"\n }, {\n value: \"Radiology\",\n label: \"Radiology\"\n }, {\n value: \"Surgery\",\n label: \"Surgery\"\n }, {\n value: \"Pathology\",\n label: \"Pathology\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n // if (context.country || parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n // }\n\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default MSDJcapMatchRegistrationForm","import { useContext, useState, } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\nimport { capitalize } from '../../../utils/functions';\n\nconst MSDJCAPRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n \"Internal Medicine\",\n \"Medical Oncology\",\n \"Surgery\",\n \"Radiology\",\n \"Gynecology\",\n \"Others\"\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Internal Medicine\": \"Internal Medicine\",\n \"Medical Oncology\": \"Medical Oncology\",\n \"Surgery\": \"Surgery\",\n \"Radiology\": \"Radiology\",\n \"Gynecology\": \"Gynecology\",\n \"Others\": \"Others\"\n }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n ])\n\n if (!parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n },\n {\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n }]\n )\n if (getValue(\"specialty\") === \"Others\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n },\n {\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n }]\n )\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n fields.push(\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n }\n )\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default MSDJCAPRegistrationForm","import { useContext } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\n\nconst OrganonVirtualSassRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals\n } = useRegistrtionForm({\n multiselectFields: [\"specialty\"]\n })\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n \"Cardiology\",\n \"Endocrinology\",\n \"Family Medicine / General Practice\",\n \"Family Planning\",\n \"Obstetrics / Gynecology\",\n \"Other\",\n \"Not applicable\",\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Cardiology\": \"Cardiology\",\n \"Endocrinology\": \"Endocrinology\",\n \"Family Medicine / General Practice\": \"Family Medicine / General Practice\",\n \"Family Planning\": \"Family Planning\",\n \"Obstetrics / Gynecology\": \"Obstetrics / Gynecology\",\n \"Not applicable\": \"Not applicable\",\n \"Transplant Physician\": \"Transplant Physician\",\n \"Other\": \"Other\",\n }\n }\n\n return values.map((item, index) => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\"),\n disabled: parseInt(context.internal),\n options: countries || []\n })\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\"),\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n }\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"singleselect\",\n isMulti: true,\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\", \"miltiselect\"),\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n },\n {\n elementType: \"text\",\n id: \"affiliation\",\n name: \"affiliation\",\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n placeholder: window._.get(context, \"contents.affiliation\") || \"Affiliation (Place of work)\",\n value: getValue(\"affiliation\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n {\n elementType: \"text\",\n id: \"phone\",\n name: \"phone\",\n label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n value: getValue(\"phone\"),\n }\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default OrganonVirtualSassRegistrationForm","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\nimport useThreeStatesInternal from '../../hooks/useThreeStatesInternal';\n\nconst MsdApidForumCovid19 = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const {\n initial,\n onTouched,\n isInternalField\n } = useThreeStatesInternal()\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push(isInternalField({\n context: context,\n getValue: (e) => getValue(e)\n }))\n }\n\n if (!initial) {\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Emergency physician\",\n label: \"Emergency physician\"\n }, {\n value: \"Family physician\",\n label: \"Family physician\"\n }, {\n value: \"Infectious diseases specialist\",\n label: \"Infectious diseases specialist\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Pulmonologist\",\n label: \"Pulmonologist\"\n }, {\n value: \"Virologist\",\n label: \"Virologist\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\"),\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n onTouched={(val) => onTouched(val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default MsdApidForumCovid19","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\n\nconst MSDHPVRegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = [{\n id: null,\n label: \"-\",\n code: null\n }].concat(window._.get(context, \"event.countries\"))\n\n const allCountries = [{\n id: null,\n label: \"-\",\n code: null\n }].concat(window._.get(context, \"event.all_countries\"))\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"is_internal\",\n // name: \"is_internal\",\n // // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: window._.get(context, \"contents.internal\"),\n // value: context.internal\n // })\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Oncologist\",\n label: \"Oncologist\"\n }, {\n value: \"Otolaryngologist\",\n label: \"Otolaryngologist\"\n }, {\n value: \"Virologist\",\n label: \"Virologist\"\n }, {\n value: \"Infectious diseases specialist\",\n label: \"Infectious diseases specialist\"\n }, {\n value: \"Public health physicians\",\n label: \"Public health physicians\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n }\n\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default MSDHPVRegistrationForm","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\nimport useThreeStatesInternal from '../../hooks/useThreeStatesInternal';\n\nconst MSDVaccinesAcademyRegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const {\n initial,\n onTouched,\n isInternalField\n } = useThreeStatesInternal()\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push(isInternalField({\n context: context,\n getValue: (e) => getValue(e)\n }))\n }\n\n if (!initial) {\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Infectious Disease\",\n label: \"Infectious Disease\"\n }, {\n value: \"Public Health\",\n label: \"Public Health\"\n }, {\n value: \"General Physician/Practioner\",\n label: \"General Physician/Practioner\"\n }, {\n value: \"Geriatrician\",\n label: \"Geriatrician\"\n }, {\n value: \"Pediatrician\",\n label: \"Pediatrician\"\n }, {\n value: \"Gynaecologist/Obstetrician\",\n label: \"Gynaecologist/Obstetrician\"\n }, {\n value: \"Vaccinologist\",\n label: \"Vaccinologist\"\n }, {\n value: \"Internal Medicine\",\n label: \"Internal Medicine\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\"),\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n }\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n onTouched={(val) => onTouched(val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default MSDVaccinesAcademyRegistrationForm","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\nimport useThreeStatesInternal from '../../hooks/useThreeStatesInternal';\n\nconst MSDVaccinesAcademyRegistrationForm2022 = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const {\n initial,\n onTouched,\n isInternalField\n } = useThreeStatesInternal()\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push(isInternalField({\n context: context,\n getValue: (e) => getValue(e)\n }))\n }\n\n if (!initial) {\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n disabled: parseInt(context.internal),\n options: [{\n value: \"General Physician/Practioner\",\n label: \"General Physician/Practioner\"\n }, {\n value: \"Geriatrician\",\n label: \"Geriatrician\"\n }, {\n value: \"Gynaecologist/Obstetrician\",\n label: \"Gynaecologist/Obstetrician\"\n }, {\n value: \"Infectious Disease\",\n label: \"Infectious Disease\"\n }, {\n value: \"Internal Medicine\",\n label: \"Internal Medicine\"\n }, {\n value: \"Microbiologist\",\n label: \"Microbiologist\"\n }, {\n value: \"Nurse\",\n label: \"Nurse\"\n }, {\n value: \"Otolaryngologist\",\n label: \"Otolaryngologist\"\n }, {\n value: \"Pediatrician\",\n label: \"Pediatrician\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Public Health\",\n label: \"Public Health\"\n }, {\n value: \"Pulmonologist\",\n label: \"Pulmonologist\"\n }, {\n value: \"Vaccinologist\",\n label: \"Vaccinologist\"\n }, {\n value: \"Virologist\",\n label: \"Virologist\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\"),\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n onTouched={(val) => onTouched(val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default MSDVaccinesAcademyRegistrationForm2022","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\n\nconst RegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = [{\n id: null,\n label: \"-\",\n code: null\n }].concat(window._.get(context, \"event.countries\"))\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: [window._.get(context, \"episode.id\")],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"checkbox\",\n id: \"is_internal\",\n name: \"is_internal\",\n // required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\"),\n value: context.internal\n })\n }\n\n if (!context.internal) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\"),\n placeholder: window._.get(context, \"contents.country\"),\n value: getValue(\"country_id\") || context.country,\n disabled: context.internal,\n options: countries || []\n })\n }\n\n fields.push({\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\"),\n placeholder: window._.get(context, \"contents.language\"),\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n })\n\n if (context.country) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\"),\n placeholder: window._.get(context, \"contents.firstname\"),\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\"),\n placeholder: window._.get(context, \"contents.lastname\"),\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\"),\n placeholder: window._.get(context, \"contents.email\"),\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n console.log(\"context.legals\", item.field_name)\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n })\n }\n }\n\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.registrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n const disableSubmit = () => {\n let disable = true\n context.event.episodes.forEach(item => {\n if (item.id === window._.get(context, \"episode.id\")) {\n disable = !item.is_subscriptions_open\n }\n })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit()}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default RegistrationForm","/* eslint-disable default-case */\nimport React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport useThreeStatesInternal from '../../hooks/useThreeStatesInternal';\n\nconst SpecialRegistrationForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const {\n initial,\n onTouched,\n isInternalField\n } = useThreeStatesInternal()\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push(isInternalField({\n context: context,\n getValue: (e) => getValue(e)\n }))\n }\n\n if (!initial) {\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Hematologist\",\n label: \"Hematologist\"\n }, {\n value: \"Infection diseases specialist\",\n label: \"Infection diseases specialist\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Nurse\",\n label: \"Nurse\"\n }, {\n value: \"Virologist\",\n label: \"Virologist\"\n }, {\n value: \"Other\",\n label: \"Others (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\"),\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n onTouched={(val) => onTouched(val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default SpecialRegistrationForm","import { useContext } from 'react';\n\nimport MainContext from '../../../context/MainContext';\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport { capitalize } from '../../../utils/functions';\n\nconst ApLungCancer2023Form = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n getValue,\n getLegals,\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n \"Clinical Oncologist\",\n \"Medical Oncologist\",\n \"Pulmonologist\",\n \"Radiation Oncologist\",\n \"Toracic Surgeon\",\n \"Others\"\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Clinical Oncologist\": \"Clinical Oncologist\",\n \"Medical Oncologist\": \"Medical Oncologist\",\n \"Pulmonologist\": \"Pulmonologist\",\n \"Radiation Oncologist\": \"Radiation Oncologist\",\n \"Toracic Surgeon\": \"Toracic Surgeon\",\n \"Others\": \"Others\"\n }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n ])\n\n if (!parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n },\n {\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n }]\n )\n if (getValue(\"specialty\") === \"Others\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n },\n {\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n }]\n )\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n fields.push(\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n }\n )\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default ApLungCancer2023Form","import React, { useEffect, useState } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport Button from \"../../ui/Button/Button\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\n\nconst StreamChangedModal = ({ onClose, onConfirm, content, okButtonText, koButtonText, ...props }) => {\n const [modalOpen, setModalOpen] = useState(false)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const grid = (\n \n \n
    \n {content || \"Are you sure?\"}\n
    \n
    \n\n \n
    \n \n {koButtonText || \"Cancel\"}\n \n \n {okButtonText || \"Confirm\"}\n \n
    \n
    \n
    \n )\n\n const modal = (\n \n )\n\n return modal\n}\n\nexport default StreamChangedModal","import { useContext, useEffect } from 'react';\n\nimport MainContext from '../../../context/MainContext';\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport { capitalize, consoleLog } from '../../../utils/functions';\nimport StreamChangedModal from '../../StreamChangedModal/StreamChangedModal';\n\nconst ApLungCancer2023FormVer2 = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n allCountries,\n previousFormValues,\n getValue,\n getLegals,\n updateValues\n } = useRegistrtionForm()\n\n useEffect(() => {\n consoleLog(\"selectedStreamId\", context.selectedStreamId, previousFormValues.stream_id)\n if (context.selectedStreamId !== previousFormValues.stream_id) {\n context.openStreamChangedModal()\n }\n }, [context.selectedStreamId])\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n const getSpecialtyOptions = () => {\n const values = [\n \"Clinical Oncologist\",\n \"Medical Oncologist\",\n \"Pulmonologist\",\n \"Radiation Oncologist\",\n \"Toracic Surgeon\",\n \"Others\"\n ]\n\n const specialtiesTranslations = {\n \"en\": {\n \"Clinical Oncologist\": \"Clinical Oncologist\",\n \"Medical Oncologist\": \"Medical Oncologist\",\n \"Pulmonologist\": \"Pulmonologist\",\n \"Radiation Oncologist\": \"Radiation Oncologist\",\n \"Toracic Surgeon\": \"Toracic Surgeon\",\n \"Others\": \"Others\"\n }\n }\n\n return values.map(item => {\n return {\n value: item,\n label: window._.get(specialtiesTranslations, `${getValue(\"lang_id\")}.${item}`) || window._.get(specialtiesTranslations, `en.${item}`)\n }\n })\n }\n\n if (context.event.has_internal) {\n fields.push({\n elementType: \"select\",\n id: \"is_internal\",\n name: \"is_internal\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.internal\") || \"Internal\",\n value: getValue(\"is_internal\") || \"0\",\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.internalFalseValueLabel\") || \"External\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.internalTrueValueLabel\") || \"Internal\",\n }]\n })\n }\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n ])\n\n const getStreamSelect = () => {\n return {\n elementType: \"select\",\n id: \"stream_id\",\n name: \"stream_id\",\n required: true,\n label: window._.get(context, \"contents.stream\") || \"Stream\",\n placeholder: window._.get(context, \"contents.stream\") || \"Stream\",\n value: getValue(\"stream_id\") || null,\n options: [\n {\n value: \"1\",\n label: \"MTE: Thoracic Surgeon's Perspective\"\n },\n {\n value: \"2\",\n label: \"MTE: Medical Oncologist's Perspective\"\n }\n ]\n }\n }\n\n if (!parseInt(context.internal)) {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n },\n getStreamSelect(),\n {\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n },\n {\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\") || \"Hematologist\",\n // disabled: parseInt(context.internal),\n options: getSpecialtyOptions()\n }]\n )\n if (getValue(\"specialty\") === \"Others\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields = fields.concat([\n {\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n },\n getStreamSelect(),\n {\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\") || \"MRL/GMSA\",\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n }]\n )\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n\n fields.push(\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n }\n )\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n\n const onModalConfirm = () => {\n context.closeStreamChangedModal()\n }\n\n const onModalClose = () => {\n updateValues(previousFormValues)\n context.setSelectedStreamId(previousFormValues?.stream_id)\n context.closeStreamChangedModal()\n }\n\n return (\n <>\n \n {output(fields)}\n \n )\n}\n\nexport default ApLungCancer2023FormVer2","import React, { useContext, useState, } from 'react';\nimport { buildQuery } from '../../api/functions';\nimport { getThemeConfig, getContents, formatRegistrationFooter, capitalize, consoleLog } from '../../utils/functions';\nimport Form from '../Form/Form';\nimport MainContext from '../../context/MainContext';\nimport { ThemeContext } from 'styled-components';\nimport LightText from '../../ui/LightText/LightText';\nimport useThreeStatesInternal from '../../hooks/useThreeStatesInternal';\n\nconst MsdPedVaccines2023 = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const {\n initial,\n onTouched,\n isInternalField\n } = useThreeStatesInternal()\n\n const themeContext = useContext(ThemeContext);\n const context = useContext(MainContext)\n\n const getEndpoint = () => {\n const query = buildQuery({});\n return [\n \"register\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n console.log(\"onChange\", key, value);\n switch (key) {\n case \"lang_id\":\n context.setLanguage(value)\n break\n case \"country_id\":\n context.setCountry(value)\n break\n case \"is_internal\":\n context.setInternal(value)\n break\n }\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (params) => {\n // context.setUser(params.me)\n // context.setToken(params.token, params.me)\n context.onRegistred(true)\n }\n\n const countries = window._.get(context, \"event.countries\")\n const allCountries = window._.get(context, \"event.all_countries\")\n\n let newRequiredTos = []\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n if (context.event.has_internal) {\n fields.push(isInternalField({\n context: context,\n getValue: (e) => getValue(e)\n }))\n }\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n }\n ])\n\n if (!initial) {\n if (!parseInt(context.internal)) {\n fields.push({\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\") || context.country,\n disabled: parseInt(context.internal),\n options: countries || []\n })\n fields.push({\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.istitution\") || \"Istitution\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n })\n fields.push({\n elementType: \"select\",\n id: \"specialty\",\n name: \"specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.specialty\") || \"Specialty\",\n placeholder: window._.get(context, \"contents.specialty\") || \"Specialty\",\n value: getValue(\"specialty\"),\n disabled: parseInt(context.internal),\n options: [\n {\n value: \"Gastroenterologist\",\n label: \"Gastroenterologist\"\n }, {\n value: \"General Physician/Practioner\",\n label: \"General Physician/Practioner\"\n }, {\n value: \"Gynaecologist/Obstetrician\",\n label: \"Gynaecologist/Obstetrician\"\n }, {\n value: \"Infectious Disease\",\n label: \"Infectious Disease\"\n }, {\n value: \"Internal Medicine\",\n label: \"Internal Medicine\"\n }, {\n value: \"Microbiologist\",\n label: \"Microbiologist\"\n }, {\n value: \"Nurse\",\n label: \"Nurse\"\n }, {\n value: \"Otolaryngologist\",\n label: \"Otolaryngologist\"\n }, {\n value: \"Pediatrician\",\n label: \"Pediatrician\"\n }, {\n value: \"Pharmacist\",\n label: \"Pharmacist\"\n }, {\n value: \"Public Health\",\n label: \"Public Health\"\n }, {\n value: \"Pulmonologist\",\n label: \"Pulmonologist\"\n }, {\n value: \"Vaccinologist\",\n label: \"Vaccinologist\"\n }, {\n value: \"Virologist\",\n label: \"Virologist\"\n }, {\n value: \"Other\",\n label: \"Other (Please specify)\"\n }\n ] || []\n })\n if (getValue(\"specialty\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_specialty\",\n name: \"other_specialty\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n placeholder: window._.get(context, \"contents.otherSpecialty\") || \"Other specialty\",\n value: getValue(\"other_specialty\"),\n })\n }\n }\n else {\n fields.push({\n elementType: \"select\",\n id: \"country_id_of_work\",\n name: \"country_id_of_work\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n placeholder: window._.get(context, \"contents.countryOfWork\") || \"Country of work\",\n value: getValue(\"country_id_of_work\") || context.country,\n disabled: !parseInt(context.internal),\n options: allCountries || []\n })\n fields.push({\n elementType: \"select\",\n id: \"department\",\n name: \"department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.department\") || \"Department\",\n placeholder: window._.get(context, \"contents.department\") || \"Department\",\n value: getValue(\"department\"),\n options: [{\n value: \"MRL/GMSA\",\n label: \"MRL/GMSA\"\n }, {\n value: null,\n label: \"Other\"\n }]\n })\n if (getValue(\"department\") === \"Other\") {\n fields.push({\n elementType: \"text\",\n id: \"other_department\",\n name: \"other_department\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n placeholder: window._.get(context, \"contents.otherDepartment\") || \"Other department\",\n value: getValue(\"other_department\"),\n })\n }\n }\n }\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n fields = fields.concat([\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n ])\n\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"privacy_policy\",\n // name: \"privacy_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"privacyPolicyLinkText\")}`,\n // value: getValue(\"privacy_policy\"),\n // section: \"footer\"\n // })\n // fields.push({\n // elementType: \"checkbox\",\n // id: \"cookie_policy\",\n // name: \"cookie_policy\",\n // required: true,\n // // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n // value: getValue(\"cookie_policy\"),\n // section: \"footer\"\n // })\n if (context.legals) {\n context.legals.forEach(item => {\n consoleLog(\"context.legals\", item.field_name)\n if (!item.field_name) {\n return false\n }\n fields.push({\n elementType: \"checkbox\",\n id: item.field_name,\n name: item.field_name,\n required: item.is_required,\n // invalidText: \"Invalid error message.\",\n // label: `${getContents(context, \"iAgree\")} ${getContents(context, \"cookiePolicyLinkText\")}`,\n labelHtml: item.checkbox_label,\n popupContent: item.content,\n value: getValue(item.field_name),\n section: \"footer\"\n })\n if (item.is_required) {\n newRequiredTos.push(item.field_name)\n // setRequiredTos([\n // ...requiredTos,\n // item.field_name\n // ])\n }\n })\n }\n\n\n const logo = (getThemeConfig(context, \"registration-form.logo\")) ?\n !window._.isEmpty(themeContext.mediaRegistrationFormLogoDesktop) ? (\n
    \n \n
    \n ) : null : null\n\n const formHelp = (getThemeConfig(context, \"registration-form.footer\")) ? (\n \n \n ) : null\n\n const registrationHeader = getContents(context, \"registrationHeader\") ? (\n \n \n ) : null\n\n //newRequiredTos\n const disableSubmit = (reqs) => {\n let disable = false\n if (reqs) {\n reqs.forEach(item => {\n if (!getValue(item)) {\n disable = true\n }\n })\n }\n else {\n disable = true\n }\n\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return disable\n }\n\n return (\n
    \n {logo}\n {/* {registrationHeader} */}\n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n onTouched={(val) => onTouched(val)}\n submitButtonLabel={getContents(context, \"register\")}\n disableSubmit={disableSubmit(newRequiredTos)}\n isRegistration={true}\n />\n {/* {formHelp} */}\n
    \n );\n}\n\nexport default MsdPedVaccines2023","import { useContext } from 'react';\n\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport MainContext from '../../../context/MainContext';\n\nconst IsploraWebinarRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n countries,\n getValue,\n getLegals\n } = useRegistrtionForm()\n\n let fields = [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ];\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const countriesList = countries || []\n\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"lang_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n const countryField = countriesList.length > 1 ? {\n elementType: \"select\",\n id: \"country_id\",\n name: \"country_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.country\") || \"Country\",\n placeholder: window._.get(context, \"contents.country\") || \"Country\",\n value: getValue(\"country_id\"),\n options: countries || []\n\n } : {\n elementType: \"hidden\",\n id: \"country_id\",\n name: \"country_id\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n // if (context.country || context.internal) {\n fields = fields.concat([\n countryField,\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n {\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.istitution\") || \"istitution\",\n placeholder: window._.get(context, \"contents.istitution\") || \"istitution\",\n value: getValue(\"istitution\"),\n },\n {\n elementType: \"text\",\n id: \"phone\",\n name: \"phone\",\n label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n value: getValue(\"phone\"),\n }\n ])\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n // }\n\n return output(fields)\n}\n\nexport default IsploraWebinarRegistrationForm","import { useContext } from 'react';\n\nimport MainContext from '../../../context/MainContext';\nimport useRegistrtionForm from '../../../hooks/useRegistrtionForm';\nimport { capitalize } from '../../../utils/functions';\n\nconst GamRegistrationForm = (props) => {\n const context = useContext(MainContext)\n\n const {\n output,\n getValue,\n getLegals,\n } = useRegistrtionForm()\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episodes\",\n name: \"episodes\",\n value: window._.map(props.openEpisodes, (item => item.id))//[window._.map(props.openEpisodes, (item => item.id))],\n },\n ]\n : [];\n\n\n const languagesList = window._.get(context, \"event.languages\") || []\n const languageField = languagesList.length > 1 ? {\n elementType: \"select\",\n id: \"lang_id\",\n name: \"lang_id\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.language\") || \"Language\",\n placeholder: window._.get(context, \"contents.language\") || \"Language\",\n value: getValue(\"lang_id\") || context.language,\n options: window._.get(context, \"event.languages\") || []\n } : {\n elementType: \"hidden\",\n id: \"lang_id\",\n name: \"episodes\",\n value: window._.get(languagesList[0], \"value\"),\n }\n\n fields.push(languageField)\n\n fields = fields.concat([\n {\n elementType: \"hidden\",\n id: \"country_id\",\n name: \"country_id\",\n value: \"it\",\n },\n {\n elementType: \"text\",\n id: \"firstname\",\n name: \"firstname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.firstname\") || \"firstname\",\n placeholder: window._.get(context, \"contents.firstname\") || \"firstname\",\n value: getValue(\"firstname\"),\n },\n {\n elementType: \"text\",\n id: \"lastname\",\n name: \"lastname\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.lastname\") || \"lastname\",\n placeholder: window._.get(context, \"contents.lastname\") || \"lastname\",\n value: getValue(\"lastname\"),\n },\n {\n elementType: \"email\",\n id: \"email\",\n name: \"email\",\n required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.email\") || \"email\",\n placeholder: window._.get(context, \"contents.email\") || \"email\",\n value: getValue(\"email\"),\n },\n {\n elementType: \"select\",\n id: \"company_type\",\n name: \"company_type\",\n // required: true,\n // invalidText: \"Invalid error message.\",\n label: window._.get(context, \"contents.company_type\") || \"Azienda/Istituto\",\n value: getValue(\"company_type\") || 0,\n options: [{\n value: 0,//internal_false_value_label\n label: window._.get(context, \"contents.affiliation\") || \"Istituto\",\n }, {\n value: 1,//internal_false_value_label\n label: window._.get(context, \"contents.istitution\") || \"Azienda\",\n }]\n }\n ])\n\n\n if (parseInt(getValue(\"company_type\"))) {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"istitution\",\n name: \"istitution\",\n required: true,\n label: window._.get(context, \"contents.company_name\") || \"Nome Azienda\",\n placeholder: capitalize(window._.get(context, \"contents.istitution\")) || \"Istitution\",\n value: getValue(\"istitution\"),\n }]\n )\n }\n else {\n fields = fields.concat([\n {\n elementType: \"text\",\n id: \"department\",\n name: \"department\",\n required: true,\n label: window._.get(context, \"contents.department\") || \"Codice Meccanografico\",\n placeholder: capitalize(window._.get(context, \"contents.department\")) || \"Istitution\",\n value: getValue(\"department\"),\n }]\n )\n }\n\n fields.push(\n {\n elementType: \"text\",\n id: \"phone\",\n name: \"phone\",\n label: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n placeholder: window._.get(context, \"contents.phone\") || \"Telephone No./Work No\",\n value: getValue(\"phone\"),\n }\n )\n\n if (context.legals) {\n fields = fields.concat(getLegals())\n }\n\n return output(fields)\n}\n\nexport default GamRegistrationForm","import React, { useContext } from 'react';\nimport MainContext from '../../context/MainContext';\nimport wrapSection from '../../hoc/wrapSection';\nimport useRegistrtionFlow from '../../hooks/useRegistrtionFlow';\nimport Button from '../../ui/Button/Button';\nimport { getContents } from '../../utils/functions';\nimport ApIdForumCovid19Form from '../ApIdForumCovid19Form/ApIdForumCovid19Form';\nimport ApidGnWebinarRegistrationForm from '../ApidGnWebinarRegistrationForm/ApidGnWebinarRegistrationForm';\nimport ApIdGyn2023Form from '../ApIdGyn2023Form/ApIdGyn2023Form';\nimport ApidRegistrationForm from '../ApidRegistrationForm/ApidRegistrationForm';\nimport Eurogin2021RegistrationForm from '../Eurogin2021RegistrationForm/Eurogin2021RegistrationForm';\nimport EdizioniDmRegistrationForm from '../Form/EdizioniDmRegistrationForm/EdizioniDmRegistrationForm';\nimport MSDApNiasBRegistrationForm from '../Form/MSDApNiasRegistrationForm/MSDApNiasBRegistrationForm';\nimport MSDApNiasRegistrationForm from '../Form/MSDApNiasRegistrationForm/MSDApNiasRegistrationForm';\nimport MSDApNmbUpdates2021RegistrationForm from '../Form/MSDApNmbUpdates2021RegistrationForm/MSDApNmbUpdates2021RegistrationForm';\nimport MSDAPSmartMeetingRegistrationForm from '../Form/MSDAPSmartMeetingRegistrationForm/MSDAPSmartMeetingRegistrationForm';\nimport MSDCovidSassRegistrationForm from '../Form/MSDCovidSassRegistrationForm/MSDCovidSassRegistrationForm';\nimport MSDCtioRegistrationForm from '../Form/MSDCtioRegistrationForm';\nimport MSDGlobalCmvRegistrationForm from '../Form/MSDGlobalCmvRegistrationForm/MSDGlobalCmvRegistrationForm';\nimport MSDGlobalHpv2021RegistrationForm from '../Form/MSDGlobalHpv2021RegistrationForm/MSDGlobalHpv2021RegistrationForm';\nimport MSDHncrResearchForum2022RegistrationForm from '../Form/MSDHncrResearchForum2022RegistrationForm/MSDHncrResearchForum2022RegistrationForm';\nimport MSDIdForum2021RegistrationForm from '../Form/MSDIdForum2021RegistrationForm/MSDIdForum2021RegistrationForm';\nimport MSDJcapMatchRegistrationForm from '../Form/MSDJcapMatchRegistrationForm/MSDJcapMatchRegistrationForm';\nimport MSDJCAPRegistrationForm from '../Form/MSDJCAPRegistrationForm/MSDJCAPRegistrationForm';\nimport OrganonVirtualSassRegistrationForm from '../Form/OrganonVirtualSassRegistrationForm/OrganonVirtualSassRegistrationForm';\nimport MsdApidForumCovid19 from '../MsdApidForumCovid19/MsdApidForumCovid19';\nimport MSDHPVRegistrationForm from '../MSDHPVRegistrationForm/MSDHPVRegistrationForm';\nimport MSDVaccinesAcademyRegistrationForm from '../MSDVaccinesAcademyRegistrationForm/MSDVaccinesAcademyRegistrationForm';\nimport MSDVaccinesAcademyRegistrationForm2022 from '../MSDVaccinesAcademyRegistrationForm2022/MSDVaccinesAcademyRegistrationForm2022';\nimport RegistrationForm from '../RegistrationForm/RegistrationForm';\nimport SpecialRegistrationForm from '../SpecialRegistrationForm/SpecialRegistrationForm';\nimport ApLungCancer2023Form from '../Form/ApLungCancer2023Form/ApLungCancer2023Form';\nimport ApLungCancer2023FormVer2 from '../Form/ApLungCancer2023Form/ApLungCancer2023FormVer2';\nimport MsdPedVaccines2023 from '../MsdPedVaccines2023/MsdPedVaccines2023';\nimport IsploraWebinarRegistrationForm from '../Form/IsploraWebinarRegistrationForm/IsploraWebinarRegistrationForm';\nimport GamRegistrationForm from '../Form/GamRegistrationForm/GamRegistrationForm';\n\nconst Registration = (props) => {\n const context = useContext(MainContext)\n const {\n _isMsdCtio2022\n } = useRegistrtionFlow()\n let output = null\n\n const episodes = window._.get(context, \"event.episodes\")\n const allEpisodes = window._.get(context, \"allEpisodes\", [])\n\n const openEpisodes = episodes.filter(item => {\n return item.has_future_events && item.is_subscriptions_open\n })\n const allOpenEpisodes = allEpisodes.filter(item => {\n // console.log(\"emptyList\", item.id, (item.has_future_events && item.is_subscriptions_open))\n return item.has_future_events && item.is_subscriptions_open\n })\n\n const formProps = {\n ...props,\n openEpisodes: openEpisodes\n }\n\n const emptyList = (\n (openEpisodes?.length < 1 && (!_isMsdCtio2022() || context.event.force_hide_registration_form))\n // ||\n // (allOpenEpisodes?.length < 1 && _isMsdCtio2022())\n )\n if (emptyList) {\n const goToLoginForm = (\n context.setLoginModalOpen(true)}\n className=\"registration-form__gotologin\"\n dangerouslySetInnerHTML={{ __html: getContents(context, \"goToLoginForm\") }}>\n \n )\n output = (\n <>\n
    \n {goToLoginForm}\n \n )\n }\n else if (context.registered) {\n output = (\n <>\n
    \n context.setLoginModalOpen(true)}\n className=\"btn btn-outline-success my-2 my-sm-0\"\n >{window._.get(context, \"contents.login\")}\n \n )\n }\n else {\n switch (\n parseInt(window._.get(context, \"event.registration_form\"))\n ) {\n case 1:\n output = (\n \n )\n break\n case 2:\n output = (\n \n )\n break\n case 3:\n output = (\n \n )\n break\n case 4:\n output = (\n \n )\n break\n case 5:\n output = (\n \n )\n break\n case 6: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 7: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 8: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 9: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 10: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 11: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 12: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 13: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 14: //MSD_VACCINES_ACADEMY\n output = (\n \n )\n break\n case 15: //AP ID Forum - COVID-19 Greta\n output = (\n // ApIdForumCovid19 \n )\n break\n case 16: //AP ID Forum - GN Webinar Greta\n output = (\n // ApIdForumCovid19 \n )\n break\n case 17: // MSD_VACCINES_ACADEMY 2022\n output = (\n // ApIdForumCovid19 \n )\n break\n case 18:\n output = (\n \n )\n break\n case 19:\n output = (\n \n )\n break\n case 20:\n output = (\n \n )\n break\n case 21:\n output = (\n \n )\n break\n case 22: //APID_GYN_2023_Reg\n output = (\n \n )\n break\n case 23:\n output = (\n \n )\n break\n case 24:\n output = (\n \n )\n break\n case 25:\n output = (\n \n )\n break\n case 3023:\n output = (\n \n )\n break\n case 1001: // MSD_CTIO\n output = (\n \n )\n break\n case 2001: // Edizioni DM\n output = (\n \n )\n break\n case 2002: // Isplora Webinar\n output = (\n \n )\n break\n default:\n output = (\n \n )\n }\n }\n\n return (\n
    \n {output}\n
    \n )\n}\n\nRegistration.className = \"registration\"\nexport default wrapSection(Registration)","import classNames from \"classnames\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { LIVE, VOD } from \"../../config/channelStatus\";\nimport \"./TheoPlayer.scss\"\n\nconst TheoPlayer = ({ defaultLang, forceLiveUi, hideControls, hidePip, muted = true, ...props }) => {\n\n const {\n onPlay = () => { },\n onTimeUpdate = () => { },\n onPause = () => { },\n onSeeking = () => { },\n onSeeked = () => { },\n onPlaying = () => { },\n onReadyStateChange = () => { },\n onAudioTrackChange = () => { },\n onCcTrackChange = () => { }\n } = props;\n\n const [player, setPlayer] = useState()\n const [source, setSource] = useState(props.source)\n const _el = React.useRef();\n const _wrapper = React.useRef();\n\n const checkControlsVisible = () => {\n if (!_el.current) {\n return false\n }\n return (_el.current.classList.contains(\"vjs-user-active\") || _el.current.classList.contains(\"vjs-paused\")) && _el.current.classList.contains(\"vjs-has-started\");\n }\n\n const updateTextTracksPosition = () => {\n const htmlCollection = document.getElementsByClassName(\"theoplayer-texttracks\")\n if (checkControlsVisible()) {\n for (const element of htmlCollection) {\n element.classList.remove(\"bottom-0\");\n }\n }\n else {\n for (const element of htmlCollection) {\n element.classList.add(\"bottom-0\");\n }\n }\n }\n\n useEffect(() => {\n let _player = null\n if (!player) {\n _player = librariesLoaded()\n }\n else {\n _player = player\n }\n if (props.source && source !== props.source) {\n setSource(props.source)\n }\n _player.source = props.source\n // _player.play()\n window.setTimeout(() => {\n _player.play()\n const observer = new MutationObserver(function (event) {\n updateTextTracksPosition()\n })\n observer.observe(_el.current, {\n attributes: true,\n attributeFilter: ['class'],\n childList: false,\n characterData: false\n })\n }, 1)\n\n\n _wrapper.current.addEventListener(\"contextmenu\", (e) => {\n e.preventDefault()\n return false\n })\n }, [props.source])\n\n // useEffect(() => {\n // if (props.status !== status) {\n // setStatus(props.status)\n // }\n // }, [props.status])\n\n const handleInsightChange = async (_player, t) => {\n // console.log(\"handleInsightChange\", t)\n if (!_player.paused) {\n await onPause(null, _player)\n window.setTimeout(async () => {\n // await onPause(null, _player)\n await onPlaying(null, _player)\n }, 2000)\n }\n }\n\n const handleReadyStateChange = (e, _player) => {\n // console.log(\" _player.audioTracks\", _player.audioTracks)\n if (defaultLang) {\n let audioIndex = null\n _player.audioTracks.forEach(function (track, index) {\n if ((track.language === defaultLang)) {\n audioIndex = index\n }\n });\n if (audioIndex !== null) {\n _player.audioTracks.forEach(function (track, index) {\n track.enabled = false\n });\n _player.audioTracks[audioIndex].enabled = true\n }\n }\n onReadyStateChange(e, _player)\n }\n\n const handlePlayerPlaying = (e, _player) => {\n // if (_player.readyState === 4) {\n onPlaying(e, _player)\n // }\n }\n\n const handlePlayerPause = (e, _player) => {\n // if (_player.readyState === 4) {\n onPause(e, _player)\n // }\n }\n const isSubtitle = (kind) => {\n return [\"captions\", \"subtitles\"].indexOf(kind) >= 0\n }\n\n const librariesLoaded = () => {\n\n if (_el.current) {\n\n let theoplayerOptions = {\n libraryLocation: \"https://cdn.myth.theoplayer.com/\" + process.env.REACT_APP_THEO_API_KEY,\n // libraryLocation: \"/node_modules/theoplayer/\",\n license: process.env.REACT_APP_THEO_API_LICENSE,\n muted: true,\n fluid: true\n }\n\n if (!hidePip && process.env.REACT_APP_PIP_ENABLED) {\n theoplayerOptions = {\n ...theoplayerOptions,\n // Picture-in-picture initialisation\n pip: {\n \"visibility\": 0.7\n }\n }\n }\n\n const _player = new window.THEOplayer.Player(_el.current, theoplayerOptions);\n\n _player.preload = 'auto';\n _player.muted = muted;\n _player.source = props.source\n _player.autoplay = true;\n\n if (![LIVE, VOD].includes(props.status)) {\n _player.loop = true;\n }\n\n if (!props.demo) {\n _player.addEventListener('play', (e) => onPlay(e, _player))\n _player.addEventListener('playing', (e) => handlePlayerPlaying(e, _player))\n _player.addEventListener('pause', (e) => handlePlayerPause(e, _player))\n _player.addEventListener('seeking', (e) => onSeeking(e, _player))\n _player.addEventListener('seeked', (e) => onSeeked(e, _player))\n _player.addEventListener('readystatechange', (e) => handleReadyStateChange(e, _player))\n _player.addEventListener('timeupdate', (e) => onTimeUpdate(e, _player))\n\n // _player.network.addResponseInterceptor((response) => {\n // if (response.status >= 400 && response.status <= 599) {\n // var errorDetails = {\n // status: response.status,\n // fileType: response.request.type,\n // url: response.request.url\n // }\n // var networkErrorEvent = new CustomEvent('THEOnetworkerror', { detail: errorDetails });\n // document.dispatchEvent(networkErrorEvent);\n // };\n // })\n\n _player.audioTracks.addEventListener('change', function (event) {\n const track = event.track;\n // console.log(\"defaultLang6\", track, track.label, track.language, track.enabled);\n if (track.enabled) {\n onAudioTrackChange(track.language)\n handleInsightChange(_player, \"audioTracks\")\n }\n });\n _player.textTracks.addEventListener('change', function (event) {\n if (!isSubtitle(event.track.kind)) {\n return false\n }\n // const track = event.track;\n // const isEnabled = (track.mode === \"showing\");\n // const isSubtitle = (track.kind === \"subtitles\");\n // console.log(track, track.label, track.kind, track.language, track.type, isEnabled);\n // if (isSubtitle) {\n // onCcTrackChange(isEnabled ? track.language : null)\n // handleInsightChange(_player)\n // }\n let currentTextTrack;\n for (var t in _player.textTracks) {\n const track = _player.textTracks[t]\n if (\n track.mode === 'showing' &&\n isSubtitle(track.kind)\n ) {\n currentTextTrack = track.language;\n }\n }\n onCcTrackChange(currentTextTrack)\n handleInsightChange(_player, \"textTracks\")\n });\n }\n\n setPlayer(_player)\n if (props.onPLayerReady) {\n props.onPLayerReady(_player)\n }\n return _player\n }\n }\n\n const playerBox = useMemo(() => {\n const wrapperClassName = classNames(\"player-wrapper\", {\n \"hide-controls\": hideControls,\n \"force-live\": forceLiveUi\n })\n return (\n \n \n
    \n );\n }, [props.source, forceLiveUi, hideControls])\n\n return playerBox\n\n}\n\nexport default TheoPlayer;","import \"./FakePlayer.scss\"\n\nconst FakePlayer = (props) => {\n\n return (\n
    \n
    \n {props.children}\n
    \n
    \n )\n}\n\nexport default FakePlayer","class PusherManager {\n\n pusherchannel;\n\n setPusherChannel = (pusherchannel) => {\n this.pusherchannel = pusherchannel\n }\n}\n\nexport default new PusherManager()","import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { getPlayerSources, playerWhebHook, playerInsight, setSubscriberChannelPresence, resetSubscriberChannelPresence } from '../../api/functions';\nimport { UNKNOWN, LIVE, VOD, BUFFER } from '../../config/channelStatus';\nimport MainContext from '../../context/MainContext';\nimport wrapSection from '../../hoc/wrapSection';\nimport { consoleLog, getAuthToken, getLocalStorageOffsetFieldName, translateChannelStatus, getLocalStorageLastPauseFieldName, getLocalStorageDurationFieldName, getCloseCaptionsVttFileUrl, utc } from '../../utils/functions';\nimport TheoPlayer from '../TheoPlayer/TheoPlayer';\nimport \"./PlayerBox.scss\"\nimport { useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport FakePlayer from '../FakePlayer/FakePlayer';\nimport Input from '../Input/Input';\nimport classNames from 'classnames';\nimport PusherManager from '../../utils/PusherManager';\n\nlet buffer = 0\nlet playerStatus = \"pause\"\nlet lastAction = moment()\nlet lastActionPlayerTime = 0\nlet liveLocked = true // DO not edit offset until readyStateChanged === 4\nlet vodLocked = true // DO not edit offset until readyStateChanged === 4\n// let pusherChannelState = null\nlet playerObject = null\nlet connectionStatus = null\nlet channelStatusCode = UNKNOWN\nlet timeOut = null\nlet logId = null\nlet playerStarterTime = 0\nlet playerCurrentTime = 0\nlet initialized = false\n// let hidden, visibilityChange;\nconst PlayerBox = (props) => {\n\n const history = useHistory()\n const [status, setStatus] = useState(UNKNOWN)\n const [playList, setPlayList] = useState([])\n const [alternativeSources, setAleternativeSources] = useState([])\n const [ccSources, setCcSources] = useState([])\n const [formattedAlternativeSources, setFormattedAleternativeSources] = useState([])\n const [selectedAlternativeSource, setSelectedAlternativeSource] = useState()\n const [episodeLiveStartedAt, setEpisodeLiveStartedAt] = useState()\n // const [textTracks, setTextTracks] = useState()\n const [episode, setEpisodeId] = useState()\n const [channelId, setChannelId] = useState()\n const [channel, setChannel] = useState()\n const [loading, setLoading] = useState(true)\n const [audioTrackLangId, setAudioTrackLangId] = useState()\n const [ccTrackLangId, setCcTrackLangId] = useState()\n const [playerSource, setPlayerSource] = useState()\n const [playerReadyState, setPlayerReadyState] = useState()\n const [insights, setInsights] = useState()\n const [isFakeLive, setIsFakeLive] = useState(false)\n // const [liveLocked, setLiveLocked] = useState(true)\n // const [vodLocked, setVodLocked] = useState(true)\n const [pusherChannelState, setPusherChannelState] = useState() // DO NOT REMOVE!!!\n const [hidePlayer, setHidePlayer] = useState(true) // DO NOT REMOVE!!!\n // const [lastActionTime, setLastActionTime] = useState(0)\n const context = useContext(MainContext)\n\n const channelsStatus = translateChannelStatus(status)\n\n let lastEvent = null\n\n const handleChannelSubscription = ({ action, channelId }) => {\n try {\n switch (action) {\n case \"subscribe\":\n setSubscriberChannelPresence({ channelId })\n break\n case \"unsubscribe\":\n resetSubscriberChannelPresence()\n break\n default:\n }\n }\n catch (e) { }\n }\n\n useEffect(() => {\n if (!getAuthToken()) {\n history.push(\"/\")\n }\n\n liveLocked = true\n vodLocked = true\n\n // window.setInterval(() => {\n // setLastActionTime(lastActionTime => ++lastActionTime)\n // }, 1000)\n\n // let lastTime = (new Date()).getTime();\n\n // setInterval(function () {\n // let currentTime = (new Date()).getTime();\n // if (currentTime > (lastTime + 2000 * 2)) { // ignore small delays\n // console.log(\"AAA woke up \" + moment().format())\n\n // }\n // lastTime = currentTime;\n // }, 2000);\n\n // if (typeof document.hidden !== \"undefined\") { // Opera 12.10 and Firefox 18 and later support\n // hidden = \"hidden\";\n // visibilityChange = \"visibilitychange\";\n // } else if (typeof document.msHidden !== \"undefined\") {\n // hidden = \"msHidden\";\n // visibilityChange = \"msvisibilitychange\";\n // } else if (typeof document.webkitHidden !== \"undefined\") {\n // hidden = \"webkitHidden\";\n // visibilityChange = \"webkitvisibilitychange\";\n // }\n // document.addEventListener(visibilityChange, handleVisibilityChange, false);\n window.addEventListener('online', handleConnectionChange);\n window.addEventListener('offline', handleConnectionChange);\n return function cleanup() {\n window.removeEventListener(\"online\", handleConnectionChange)\n window.removeEventListener(\"offline\", handleConnectionChange)\n };\n\n // window.ononline = (event) => {\n // // alert(\"You are now connected to the network.\");\n // setOnline(true)\n // };\n // // Detect when user's connection is broken\n // window.onoffline = (event) => {\n // // alert(\"The network connection has been lost.\");\n // setOnline(false)\n // }; \n }, [])\n\n useEffect(() => {\n\n if (!channelId) {\n return false\n }\n // window.Pusher = new Pusher(process.env.REACT_APP_PUSHER_APP_KEY, {\n // // key: process.env.REACT_APP_PUSHER_APP_KEY,\n // cluster: process.env.REACT_APP_PUSHER_APP_CLUSTER,\n // forceTLS: true,\n // authEndpoint: process.env.REACT_APP_API_BASEURL + 'broadcasting/auth',\n // pongTimeout: 6000,\n // activityTimeout: 30000,\n // auth: {\n // headers: {\n // 'Authorization': \"Bearer \" + getAuthToken()\n // }\n // }\n // });\n window.Pusher.connection.bind('connected', function () {\n // consoleLog(\"pusher:connected\")\n // if (pusherChannelState === 'disconnected') {\n // consoleLog(`pusher:connected status : ${playerStatus}`)\n // }\n // setPusherChannelState('connected')\n })\n window.Pusher.connection.bind('disconnected', function () {\n // consoleLog(\"pusher:disconnected\")\n playerObject.pause()\n // if (pusherChannelState === 'connected') {\n // consoleLog(`pusher:disconnected status : ${playerStatus}`)\n // }\n // setPusherChannelState('disconnected')\n })\n // window.Pusher.connection.bind(\"error\", function (err) {\n // // if (err.error.data.code === 4004) {\n // consoleLog(\">>> detected error \" + err.error.data.code);\n // // }\n // });\n if (channelId && !window._.isEmpty(context.user)) {\n\n let pusherChannel = PusherManager.pusherchannel\n\n pusherChannel.bind(\"App\\\\Events\\\\ChannelStatusChanged\", (data) => {\n consoleLog(`ChannelStatusChanged was triggered with data ${JSON.stringify(data)}`);\n\n const action = data?.actions?.find(action => parseInt(action.id) === parseInt(channelId))\n consoleLog(action);\n if (action) {\n const newChannelStatus = parseInt(action.status)\n switch (newChannelStatus) {\n case LIVE:\n liveLocked = true\n changeChannelStatus({ newValue: LIVE, newSource: action.source, newAlternativeSources: action.channel_sources, newEpisodeLiveStartedAt: action.episode_live_started_at })\n break\n // case \"App\\\\Events\\\\EventStatusChanged\":\n // if (data.keep_current_time) {\n // vodLocked = true\n // }\n // changeChannelStatus({ newValue: action.status, newSource: action.source, newAlternativeSources: action.channel_sources, newCCSources: action.closed_captions })\n // break\n // case \"App\\\\Events\\\\ChangeQaaStatus\":\n // changeQaaStatus(data.status)\n // break\n default:\n if (data.keep_current_time) {\n vodLocked = true\n }\n changeChannelStatus({ newValue: newChannelStatus, newSource: action.source, newAlternativeSources: action.channel_sources, newCCSources: action.closed_captions })\n break\n }\n }\n });\n\n // subscribeToChannel\n const channel = subscribeToChannel(props.eventId, channelId)\n // setSubscriberChannelPresence({ channelId })\n handleChannelSubscription({ action: \"subscribe\", channelId })\n // const channel = window.Pusher.subscribe(`presence-${props.eventId}.${channelId}`)\n // .here((e) => {\n // consoleLog(\"LiveStarted join\", e);\n // // setStatus(LIVE)\n // })\n // .listen('.App\\\\Events\\\\LiveStarted', (e) => {\n // consoleLog(\"LiveStarted\", e);\n // setStatus(LIVE)\n // });\n // consoleLog(\"channel\", channel)\n // channel.bind('pusher:subscription_succeeded', function (members) {\n // consoleLog(\"pusher:subscription_succeeded\")\n // })\n // channel.bind('pusher:member_added', function (member) {\n // consoleLog(\"pusher:member_added\")\n // });\n // channel.bind(\"pusher:member_removed\", (member) => {\n // consoleLog(\"member_removed at \" + moment().format())\n // // remove_member(member.id, member.info);\n // });\n // channel.bind('.App\\\\Events\\\\LiveStarted', function (e) {\n // consoleLog(\"lpusher:isten\", e)\n // });\n // channel.bind('.App\\\\Events\\\\LiveStopped', function (e) {\n // consoleLog(\"pusher:listen\", e)\n // });\n // channel.bind('pusher:ping', function (e) {\n // consoleLog(\"pusher:ping\", e)\n // });\n // channel.bind('pusher:pong', function (e) {\n // consoleLog(\"pusher:pong\", e)\n // });\n channel.bind_global(globalCallback);\n\n }\n return function cleanup() {\n if (window.Pusher) {\n unsubscribeFromChannel(props.eventId, channelId)\n // resetSubscriberChannelPresence()\n handleChannelSubscription({ action: \"unsubscribe\" })\n // window.Pusher.unsubscribe(`presence-${props.eventId}.${channelId}`)\n }\n };\n }, [channelId])\n\n useEffect(() => {\n const _episodeId = window._.get(context, \"episodeId\")\n consoleLog(\"onEpisodeSelected playerbox\", _episodeId, props.episodeId)\n if (props.episodeId && episode !== props.episodeId) {\n loadPlayList(_episodeId)\n // setEpisodeId(_episodeId)\n }\n }, [props.episodeId])\n\n // useEffect(() => {\n // if (context.channelId && context.channelId !== channelId) {\n // setChannelId(context.channelId)\n // }\n // }, [context.channelId])\n\n useEffect(() => {\n channelStatusCode = status\n handleLastPauseLog()\n }, [status])\n\n useEffect(() => {\n setFormattedAleternativeSources(alternativeSources?.map(item => {\n return {\n id: item.id,\n src: item.src,\n type: item.type\n }\n })\n )\n }, [alternativeSources])\n\n useEffect(() => {\n if (!channelId) {\n return\n }\n let params = {\n channel_id: channelId,\n }\n if (audioTrackLangId) {\n params = {\n ...params,\n audio_lang_id: audioTrackLangId,\n }\n }\n if (ccTrackLangId) {\n params = {\n ...params,\n cc_lang_id: ccTrackLangId,\n }\n }\n if (selectedAlternativeSource) {\n params = {\n ...params,\n channel_source_id: selectedAlternativeSource?.id\n }\n }\n onInsightChange(params)\n }, [audioTrackLangId, ccTrackLangId, selectedAlternativeSource, playerReadyState])\n\n useEffect(() => {\n window.setTimeout(async () => {\n updateSource()\n }, 500)\n }, [playList, status, selectedAlternativeSource, ccSources])\n\n const updateSource = async () => {\n // const playerSource = (alternativeSources?.length > 1 && selectedAlternativeSource) ? {\n // sources: selectedAlternativeSource\n // } : {\n // sources: playList ? [playList[status]] : null,\n // textTracks: getTextTrack(playList, status)\n // };\n let source = {}\n if (alternativeSources?.length > 1 && selectedAlternativeSource) {\n source = {\n sources: selectedAlternativeSource\n }\n }\n else {\n const tracks = await getTextTrack(playList, status)\n source = {\n sources: playList ? [playList[status]] : null,\n textTracks: tracks\n }\n }\n setPlayerSource(source);\n }\n\n // useEffect(() => {\n // let newTextTracks = null\n // if (newValue === PRE_LIVE) {\n // newTextTracks = [{\n // label: 'Chapters',\n // kind: 'chapters',\n // src: 'https://cdn.theoplayer.com/video/sintel/chapters.vtt',\n // srclang: 'en',\n // default: true\n // }]\n // }\n // setTextTracks(newTextTracks)\n // }, [playList])\n\n // // If the page is hidden, pause the video;\n // // if the page is shown, play the video\n // function handleVisibilityChange() {\n // if (document[hidden]) {\n // console.log(\"AAA hidden \" + moment().format())\n // } else {\n // console.log(\"AAA visible \" + moment().format())\n // }\n // }\n\n const setLastPauseLog = (playerObject) => {\n localStorage.setItem(getLocalStorageLastPauseFieldName(context.episodeId), playerObject.currentTime)\n localStorage.setItem(getLocalStorageDurationFieldName(context.episodeId), playerObject.duration)\n }\n\n const handleLastPauseLog = () => {\n const timeInt = localStorage.getItem(getLocalStorageLastPauseFieldName(context.episodeId))\n if (timeInt) {\n onPause(timeInt, true)\n localStorage.setItem(getLocalStorageLastPauseFieldName(context.episodeId), null)\n localStorage.setItem(getLocalStorageDurationFieldName(context.episodeId), null)\n }\n }\n\n const handleConnectionChange = (e) => {\n if (e.type !== connectionStatus) {\n if (e.type === \"offline\") {\n playerObject.pause()\n setLastPauseLog(playerObject.currentTime)\n alert(\"You are offline\")\n }\n else {\n handleLastPauseLog()\n alert(\"You back online\")\n }\n connectionStatus = e.type\n }\n }\n\n const subscribeToChannel = (eventId, channelId) => {\n return window.Pusher.subscribe(`presence-${eventId}.${channelId}`)\n }\n const unsubscribeFromChannel = (eventId, channelId) => {\n window.Pusher.unsubscribe(`presence-${eventId}.${channelId}`)\n }\n\n const globalCallback = (eventName, data) => {\n consoleLog(`bind global: The event ${eventName} was triggered with data ${JSON.stringify(data)}`);\n switch (eventName) {\n case \"App\\\\Events\\\\LiveStarted\":\n liveLocked = true\n changeChannelStatus({ newValue: LIVE, newSource: data.source, newAlternativeSources: data.channel_sources, newEpisodeLiveStartedAt: data.episode_live_started_at })\n break\n case \"App\\\\Events\\\\LiveStopped\":\n changeChannelStatus({ newValue: BUFFER, newSource: data.source, newAlternativeSources: data.channel_sources })\n break\n case \"App\\\\Events\\\\EventStatusChanged\":\n if (data.keep_current_time) {\n vodLocked = true\n }\n changeChannelStatus({ newValue: data.status, newSource: data.source, newAlternativeSources: data.channel_sources, newCCSources: data.closed_captions })\n break\n // case \"App\\\\Events\\\\ChangeQaaStatus\":\n // changeQaaStatus(data.status)\n // break\n default:\n }\n }\n\n // const changeChannelStatus = (newValue, newSource, newAlternativeSources = [], newCCSources = []) => {\n const changeChannelStatus = ({ newValue, newSource, newAlternativeSources = [], newCCSources = [], newEpisodeLiveStartedAt }) => {\n\n setEpisodeLiveStartedAt(newEpisodeLiveStartedAt)\n if (newSource) {\n setPlayList(playList => {\n return {\n ...playList,\n [newValue]: newSource\n }\n })\n }\n setSelectedAlternativeSource()\n setAleternativeSources(newAlternativeSources)\n setCcSources(newCCSources)\n setStatus(newValue)\n context.setChannelStatus(newValue)\n }\n\n // const changeQaaStatus = (newValue) => {\n // consoleLog(\"changeQaaStatus\", newValue)\n // context.changeQaaStatus(newValue)\n // }\n\n const loadPlayList = async (episodeId) => {\n if (!getAuthToken()) {\n return false\n }\n const res = await getPlayerSources({\n episode_id: episodeId,\n lang_id: context.language\n })\n setPlayList(window._.get(res, \"playlist\"))\n setChannel(window._.get(res, \"channel\"))\n setChannelId(window._.get(res, \"id\"))\n changeChannelStatus({ newValue: window._.get(res, \"status\") })\n setAleternativeSources(window._.get(res, \"sources\"))\n setCcSources(window._.get(res, \"cc_sources\"))\n setLoading(false)\n // setEligible(window._.get(res, \"id\") ||)\n }\n\n // INACTIVE\n // const onPlay = (currentTime) => {\n // // consoleLog(currentTime, \"The player event play.\")\n // // playerStatus = \"playing\"\n // // lastAction = moment()\n // // // sendWebHook(currentTime, \"play\")\n // }\n\n // ACTIVE\n const onPlaying = async (currentTime) => {\n consoleLog(currentTime, \"The player event onPlaying.\")\n playerStarterTime = currentTime\n if (playerStatus !== \"playing\") {\n playerStatus = \"playing\"\n lastAction = moment()\n return await sendWebHook(currentTime, \"play\")\n }\n }\n\n // ACTIVE\n const onPause = async (currentTime, force) => {\n if (isNaN(currentTime)) {\n return Promise.resolve(false)\n }\n else {\n consoleLog(currentTime, force, \"The player event onPause.\")\n if (playerStatus === \"playing\" || force) {\n playerStatus = \"pause\"\n lastAction = moment()\n return await sendWebHook(currentTime, \"pause\", force)\n }\n }\n }\n\n // ACTIVE\n const onInsightChange = async (params) => {\n params = {\n ...params,\n status\n }\n if (ccSources.length && !params.cc_lang_id && !initialized) {\n const active = ccSources.find(item => item.is_active)\n // params = {\n // ...params,\n // cc_lang_id: active?.lang_id\n // }\n setCcTrackLangId(active?.lang_id)\n initialized = true\n return\n }\n if (params === insights) {\n return\n }\n if (playerReadyState !== 4) {\n return\n }\n if (!params.cc_lang_id) {\n params = {\n ...params,\n cc_lang_id: null\n }\n }\n setInsights(params)\n window.clearTimeout(timeOut)\n timeOut = window.setTimeout(() => {\n consoleLog(params, \"The player event onPlaying.\")\n playerInsight(params)\n }, 100)\n }\n\n const onAudioTrackChange = (e) => {\n // console.log(\"onAudioTrackChange\", e)\n setAudioTrackLangId(e)\n }\n\n const onCcTrackChange = (e) => {\n // console.log(\"onCcTrackChange\", e)\n setCcTrackLangId(e)\n }\n // // INACTIVE\n // const onSeeking = (currentTime) => {\n // // consoleLog(currentTime, \"The player event onSeeking.\")\n // // playerStatus = \"seeking\"\n // // sendWebHook(currentTime, \"pause\")\n // }\n\n // // INACTIVE\n // const onSeeked = (currentTime) => {\n // // consoleLog(currentTime, \"The player event onSeeked.\")\n // // playerStatus = \"seeked\"\n // // sendWebHook(currentTime, \"pause\")\n // }\n\n // INACTIVE\n const onTimeUpdate = (currentTime) => {\n\n playerCurrentTime = currentTime\n if ([VOD].includes(status) && !vodLocked) {\n const timeInt = parseInt(currentTime)\n localStorage.setItem(getLocalStorageOffsetFieldName(context.episodeId), timeInt)\n }\n }\n\n // INACTIVE\n const onReadyStateChange = async (player) => {\n setPlayerReadyState(player.readyState)\n setIsFakeLive(false)\n consoleLog(\"onReadyStateChange\", player.readyState)\n if (player.readyState === 4) {\n setHidePlayer(false)\n }\n\n if (![LIVE].includes(status)) {\n liveLocked = true\n }\n if (![VOD].includes(status)) {\n vodLocked = true\n }\n\n if (channel?.is_fake_live && [LIVE].includes(status)) {\n setIsFakeLive(true)\n }\n if (\n player.readyState === 4 &&\n !buffer &&\n liveLocked &&\n [LIVE].includes(status)\n ) {\n if (channel?.is_fake_live) {\n\n const liveStartedAt = context.episode?.live_started_at || episodeLiveStartedAt\n // console.log(\"liveStartedAt\", liveStartedAt, episodeLiveStartedAt)\n if (liveStartedAt) { // episode_live_started_at\n const diff = moment().diff(utc(liveStartedAt), \"seconds\")\n consoleLog(\"player.currentTime: LIVE starts from\", diff)\n player.currentTime = diff;\n liveLocked = false\n }\n }\n\n if (playerStatus === \"playing\") {\n // const now = moment()\n // const resPause = await sendWebHook(lastActionPlayerTime + (parseInt(now.format(\"X\")) - parseInt(lastAction.format(\"X\"))), \"pause\")\n // const resPlay = await sendWebHook(player.currentTime, \"play\")\n // consoleLog(\"resPause\", player.currentTime, parseInt(now.format(\"X\")) - parseInt(lastAction.format(\"X\")))\n // lastAction = now\n }\n }\n if (\n player.readyState === 4 &&\n [VOD].includes(status) &&\n vodLocked\n ) {\n if (startFrom()) {\n player.currentTime += startFrom()\n localStorage.setItem(getLocalStorageOffsetFieldName(context.episodeId), null)\n }\n vodLocked = false\n }\n // HAVE_ENOUGH_DATA\n }\n\n const sendWebHook = async (currentTime, eventName, force) => {\n let res = null\n // consoleLog(\"The player event xxxx \" + eventName, parseInt(currentTime), parseInt(playerStarterTime))\n if (\n (\n [LIVE, VOD].includes(status) &&\n lastEvent !== eventName\n ) ||\n force\n ) {\n lastEvent = eventName\n let calculatedPlayerTime = 0\n if ([VOD].includes(status)) {\n calculatedPlayerTime = parseInt(currentTime)\n }\n else {\n calculatedPlayerTime = parseInt(currentTime) - parseInt(playerStarterTime)\n if (calculatedPlayerTime < 0) {\n calculatedPlayerTime = 0\n }\n }\n\n res = await playerWhebHook({\n time: calculatedPlayerTime,\n name: eventName,\n episodeId: context.episodeId,\n channelId: channelId,\n channelStatus: channelStatusCode,\n duration: force ? localStorage.getItem(getLocalStorageDurationFieldName(context.episodeId)) : playerObject.duration,\n buffer: buffer,\n async: force,\n log_id: logId\n })\n logId = res.log\n lastActionPlayerTime = parseInt(currentTime)\n }\n return res\n }\n\n const startFrom = () => {\n if ([VOD].includes(status)) {\n return parseInt(localStorage.getItem(getLocalStorageOffsetFieldName(context.episodeId)))\n }\n }\n\n const getTextTrack = async (playList, status) => {\n\n let textTracks = []\n const srcM3u8 = window._.get(playList, status + \".src\")\n\n if (srcM3u8) {\n\n const defaultCcConfig = {\n default: true, //optional\n kind: 'subtitles', //optional - find other values at https://support.theoplayer.com/hc/en-us/articles/214350425#TextTrackDescription\n // label: 'English subs', //optional - this will appear in your UI\n srclang: 'en'\n }\n\n if (status === LIVE) {\n textTracks.push(defaultCcConfig)\n }\n\n // else if (status === VOD) {\n // Subtitles / CC / Captions\n // let liveConfiguration = {\n // default: true, //optional\n // kind: 'subtitles', //optional - find other values at https://support.theoplayer.com/hc/en-us/articles/214350425#TextTrackDescription\n // // label: 'English subs', //optional - this will appear in your UI\n // srclang: 'en'\n // }\n // if (status === VOD) {\n // if (ccSources.length === 0) {\n // const ccVttUrl = getCloseCaptionsVttFileUrl(srcM3u8)\n // // const ccVttUrl = 'https://deu4xpzslem1x.cloudfront.net/index.m3u8'\n // try {\n // await get(ccVttUrl)\n // liveConfiguration = {\n // ...liveConfiguration,\n // src: ccVttUrl\n // }\n // }\n // catch (e) {\n // }\n // liveConfiguration = {\n // ...liveConfiguration,\n // src: ccVttUrl\n // }\n // }\n // else {}\n\n // }\n\n // textTracks.push(liveConfiguration)\n // }\n if (status === VOD) {\n if (ccSources.length === 0) {\n // BE AWARE!!! ASYNC makes troubles BUT DO NOT DELETE!!!\n // const ccVttUrl = getCloseCaptionsVttFileUrl(srcM3u8)\n // // const ccVttUrl = 'https://deu4xpzslem1x.cloudfront.net/index.m3u8'\n // try {\n // await get(ccVttUrl)\n // textTracks.push({\n // ...defaultCcConfig,\n // src: ccVttUrl\n // })\n // }\n // catch (e) {\n // }\n }\n else {\n // \"default\" Not Working with iOS!!!\n // ccSources.forEach(item => {\n // textTracks.push({\n // default: item.is_active, //!index, //optional\n // kind: 'subtitles', //optional - find other values at https://support.theoplayer.com/hc/en-us/articles/214350425#TextTrackDescription\n // label: item.default_title, //optional - this will appear in your UI\n // srclang: item.lang_id,\n // src: getCloseCaptionsVttFileUrl(srcM3u8, item.lang_id)\n // })\n // })\n }\n // console.log(\"textTracks\", status, textTracks, ccSources)\n // Chapters\n // textTracks.push({\n // label: 'Chapters',\n // kind: 'chapters',\n // src: getChaptersVttFileUrl(srcM3u8),\n // // srclang: 'en',\n // default: true\n // })\n // // Thumbnails\n // textTracks.push({\n // default: true,\n // src: getThumbnailsVttFileUrl(srcM3u8),\n // label: 'thumbnails',\n // kind: 'metadata'\n // })\n }\n }\n return Promise.resolve(textTracks)\n }\n\n const alterantiveSourceChanged = (e) => {\n onPause(playerCurrentTime, true)\n setSelectedAlternativeSource(formattedAlternativeSources.find(item => item.src === e.target.value))\n setAudioTrackLangId()\n setCcTrackLangId()\n }\n\n const alternativeSourcesSelector = alternativeSources?.length > 1 ? (\n {\n return {\n value: item.src,\n label: item.title\n }\n })}\n onChange={(e) => alterantiveSourceChanged(e)}\n />\n ) : null\n\n const getPlayerDefaultLang = () => {\n return (context.user.lang_id !== context.event.default_language) ? context.user.lang_id : null\n }\n\n const playerBox = useMemo(() => {\n\n const playerBoxClassNames = classNames(\"playerbox-wrapper\", {\n \"playerbox-overlay\": hidePlayer\n })\n // console.log(\"event changed\", channelsStatus, status, playerSource)\n return loading ? (\n
    Loading video...
    \n ) : (channelsStatus && status !== UNKNOWN) ? (\n
    \n {process.env.NODE_ENV !== \"production\" ? (\n
    \n
    channelsStatus {channelsStatus}
    \n
    status {status}
    \n
    source {playerSource?.sources[0]?.src}
    \n
    User Lang ID {context.user.lang_id}
    \n
    Event Lang ID {context.language}
    \n
    Event Default Lang ID {context.event.default_language}
    \n
    Episode ID {context.episodeId}
    \n
    \n ) : null}\n {\n hidePlayer && \n }\n { onPlay(player.currentTime) }}\n onPause={(e, player) => { onPause(player.currentTime) }}\n // onSeeking={(e, player) => { onSeeking(player.currentTime) }}\n // onSeeked={(e, player) => { onSeeked(player.currentTime) }}\n onTimeUpdate={(e, player) => { onTimeUpdate(player.currentTime) }}\n onPlaying={(e, player) => { onPlaying(player.currentTime) }}\n onReadyStateChange={(e, player) => { onReadyStateChange(player) }}\n onAudioTrackChange={onAudioTrackChange}\n onCcTrackChange={onCcTrackChange}\n onPLayerReady={(player) => { playerObject = player }}\n muted={true}\n />\n
    \n ) : (\n \n {window._.get(context, \"contents.notEligible\")}\n \n )\n }, [status, playerSource, isFakeLive, hidePlayer])\n return (window._.isEmpty(context.user)) ? null : (\n <>\n {alternativeSourcesSelector}\n {playerBox}\n {process.env.NODE_ENV !== \"production\" ? channelsStatus : null}\n \n )\n}\n\nPlayerBox.className = \"play\"\nexport default wrapSection(PlayerBox)","import { useEffect } from \"react\";\n\nfunction ScrollToTop() {\n useEffect(() => {\n window.scrollTo(0, 0);\n }, []);\n\n return null;\n}\n\nexport default ScrollToTop","import React, { useContext } from \"react\"\nimport classnames from \"classnames\"\nimport MainContext from \"../../context/MainContext\"\nimport Row from \"../Row/Row\"\n\nconst PageBody = (props) => {\n\n const context = useContext(MainContext)\n const className = classnames(props.className, {\n \"container-fluid\": !props.isCol && !props.narrow,\n \"container\": !props.isCol && props.narrow,\n \"col\": props.isCol,\n })\n\n const content = (context.isAppView || context.is2ColsView) ? (\n \n {props.children}\n \n ) : props.children\n\n const style = 0 ? {\n paddingTop: `${context.navHeight * 1.2}px`\n } : {}\n\n return (\n
    \n {content}\n
    \n )\n}\nexport default PageBody","import classNames from 'classnames';\nimport React from 'react';\nimport wrapSection from '../../hoc/wrapSection';\nimport PageBody from '../../ui/PageBody/PageBody';\nimport TheoPlayer from '../TheoPlayer/TheoPlayer';\n\nconst DemoPlayer = (props) => {\n\n const playerSource = {\n sources: props.source,\n };\n return (\n \n
    \n { console.log(\"The player has started playing.\") }}\n demo={true}\n />\n
    \n
    \n )\n}\n\nDemoPlayer.className = \"play\"\nexport default wrapSection(DemoPlayer)","/* eslint-disable jsx-a11y/alt-text */\nimport classNames from 'classnames';\nimport React, { useContext, useRef, useEffect, useState } from 'react';\nimport { ThemeContext } from 'styled-components';\nimport MainContext from '../../context/MainContext';\nimport Row from '../../ui/Row/Row';\nimport { getThemeConfig } from '../../utils/functions';\n\nconst EventTitle = (props) => {\n\n const context = useContext(MainContext)\n const speakersLayoutCols = getThemeConfig(context, \"speakers.cols\")\n const titleLayoutCols = getThemeConfig(context, \"title.cols\")\n const agendaLayoutCols = getThemeConfig(context, \"agenda.cols\")\n const subSubTitleRemoveMargin = getThemeConfig(context, `subsubtitle.remove-margin`)\n const themeContext = useContext(ThemeContext);\n\n const [touched, setTouched] = useState(false)\n\n const headerTitle = useRef()\n\n useEffect(() => {\n if (headerTitle.current) {\n context.setHeaderTitleHeight(headerTitle.current.offsetHeight)\n }\n }, [])\n\n // useEffect(() => {\n // if (props.episodes.length > 0 && !props.episodes.includes(props.episode)) {\n // props.onEpisodeChange(props.episodes[0].id, true)\n // }\n // }, [props.episodes])\n\n const isCtio2022 = () => {\n return props.event === \"ctio-2022\"\n }\n\n const onEpisodeChange = (e) => {\n setTouched(true)\n props.onEpisodeChange(e)\n }\n\n let mobile = 12\n let tablet = 12\n let desktop = 12\n\n try {\n if (titleLayoutCols) {\n mobile = titleLayoutCols.mobile\n tablet = titleLayoutCols.tablet\n desktop = titleLayoutCols.desktop\n }\n else {\n mobile = speakersLayoutCols.mobile + agendaLayoutCols.mobile\n tablet = speakersLayoutCols.tablet + agendaLayoutCols.tablet\n desktop = speakersLayoutCols.desktop + agendaLayoutCols.desktop\n }\n }\n catch (e) { }\n\n let rightColLogo = null\n if (window._.get(themeContext, \"mediaRightColLogo.url\") && props.showRightColLogo) {\n rightColLogo = (\n
    \n \n
    \n )\n }\n\n let multiepisode = false\n let episodesDropdown = null\n let eventHeaderWidthLg = 12\n let forceDisable = false\n\n let dropDownEpisodes = props.episodes\n // allEpisodes\n if (props.episodes.length === 0) {\n dropDownEpisodes = props.allEpisodes\n forceDisable = true\n }\n\n let selectedEpisode = null\n try {\n if (isCtio2022()) {\n const selectable = dropDownEpisodes.filter(item => {\n return !(\n !item.has_future_events ||\n (!item.is_subscriptions_open && isCtio2022())\n || forceDisable\n )\n })\n selectedEpisode = touched ? props.episode : selectable.length ? selectable[0] : dropDownEpisodes[dropDownEpisodes.length - 1]\n }\n else {\n selectedEpisode = props.episode || props.episodes[0].id\n }\n }\n catch (e) { }\n\n if (dropDownEpisodes.length > 1 && !props.hideDropDown && (context.episode || isCtio2022())) {\n multiepisode = true\n eventHeaderWidthLg = 9\n episodesDropdown = (\n
    \n onEpisodeChange(e)}\n >\n {dropDownEpisodes.map(item => {\n const disabled = (\n !item.has_future_events ||\n (!item.is_subscriptions_open && isCtio2022())\n || forceDisable\n )\n return (\n \n {item.dropdown_label || item.title}\n \n )\n })}\n \n
    \n )\n }\n\n const formattedEpisodeCategories = (isCtio2022() && window._.get(selectedEpisode, \"episode_categories\")) ? window._.get(selectedEpisode, \"episode_categories\").map(item => item.title_default).join(\",\") : null\n\n const titleContent = (isCtio2022() && window._.get(selectedEpisode, \"title\")) ? (\n <>\n {window._.get(selectedEpisode, \"title\")}
    \n {\n formattedEpisodeCategories ? (\n {formattedEpisodeCategories}\n ) : null\n }\n \n ) : (isCtio2022() && props.episodes.length === 0) ? null : (\n <>\n {\n rightColLogo\n }\n {\n props.eventSubSubTitle ? (\n {props.eventSubSubTitle}\n ) : null\n }\n {\n props.eventTitle ? (\n {props.eventTitle}\n ) : null\n }\n {\n props.eventSubTitle ? (\n {props.eventSubTitle}\n ) : null\n }\n \n )\n\n const title = (isCtio2022() && (props.episodes.length === 0 || !context.episode)) ? null : (\n
    \n {titleContent}\n
    \n )\n\n const eventLive = isCtio2022() ? window._.get(selectedEpisode, \"live_scheduling.formatted_start_at\") : props.eventLive\n const eventVod = isCtio2022() ? window._.get(selectedEpisode, \"vod_scheduling.formatted_start_at\") : props.eventVod\n\n const maxChannelDurationInHours = window._.get(selectedEpisode, \"max_channel_duration\")\n const maxChannelDuration = themeContext.showVodDurationInDays ? parseInt(maxChannelDurationInHours / 24) : maxChannelDurationInHours\n\n const intro = props.eventTitle || props.eventSubSubTitle || props.eventSubTitle ? (\n
    12 ? 12 : mobile}`]: mobile,\n [`col-md-${tablet > 12 ? 12 : tablet}`]: tablet,\n [`col-lg-${desktop > 12 ? 12 : desktop}`]: desktop,\n \"ctio-2022 mb-5\": isCtio2022()\n })}>\n {\n props.eventIntro && isCtio2022() ? (\n
    \n ) : null\n }\n \n {!isCtio2022() ? title : null}\n {episodesDropdown}\n {isCtio2022() ? title : null}\n \n {\n props.hideDropDown || (isCtio2022() && (props.episodes.length === 0 || !context.episode || !context.episode?.is_subscriptions_open)) ? null : (\n \n {eventLive ? (\n
    \n {props.eventLiveTitle ? (\n \n ) : null}\n \n {eventLive}\n
    \n
    \n ) : null}\n {eventVod ? (\n
    \n {props.eventVodTitle ? (\n \n ) : null}\n \n {eventVod}\n {\n window._.get(selectedEpisode, \"vod_channels_duration\") ? (\n {props.upTo || \"up to\"} {maxChannelDuration} {props.hours || \"hours\"}\n ) : null\n }\n
    \n
    \n ) : null}\n {\n props.eventNotes && isCtio2022() ? (\n
    \n ) : null\n }\n {\n props.eventIntro && !isCtio2022() ? (\n
    \n ) : null\n }\n \n )\n }\n
    \n ) : null\n\n return intro\n}\n\nEventTitle.className = \"eventtitle\"\nEventTitle.fluid = true\nexport default EventTitle","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport Input from \"../Input/Input\";\nimport MainContext from \"../../context/MainContext\";\nimport Button from \"../../ui/Button/Button\";\nimport classNames from \"classnames\";\nimport Spin from \"../../ui/Spin/Spin\";\n\nconst LoginModal = ({ hideChairmanLoginButton, ...props }) => {\n const [modalOpen, setModalOpen] = useState(false)\n const [email, setEmail] = useState(\"\")\n const [password, setPassword] = useState(\"\")\n const [isChairman, setIsChairman] = useState(false)\n const context = useContext(MainContext)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const toggleLoginAsChairman = () => {\n setIsChairman(isChairman => !isChairman)\n }\n\n const loginForm = (\n
    \n
    \n setEmail(e.target.value)}\n value={email}\n placeholder={window._.get(context, \"contents.emailBoxLoginPlaceholder\")}\n />\n
    \n {isChairman ? (\n <>\n
    \n setPassword(e.target.value)}\n // value={password}\n placeholder=\"Password\"\n />\n
    \n \n ) : null}\n {\n !hideChairmanLoginButton && (\n \n )\n }\n\n {\n context.loginErrors ? (\n \n {context.loginErrors.join(\", \")}\n
    \n ) : null\n }\n
    \n {\n context.alreadyLoggedError ? (\n <>\n
    \n {window._.get(context, \"contents.closeEveryOpenSessionMessage\")}\n
    \n props.onForceLogoutClicked()}>\n {\n context.loggingOut ? (\n \n // \n ) : window._.get(context, \"contents.closeEveryOpenSessionButtonText\")\n }\n \n \n ) : (\n\n props.onLoginClicked({\n email: email,\n password: isChairman ? password : \"\"\n })}>\n {\n context.loginWaiting ? (\n \n // \n ) : window._.get(context, \"contents.login\")\n }\n \n\n )\n }\n
    \n
    \n )\n\n // const logo = !window._.isEmpty(themeContext.mediaHeaderLogoDesktop) ? (\n // \n // ) : context.siteTitle\n\n const sectionMainTitle = props.formTitle ? (\n
    \n {props.formTitle}\n
    \n ) : null\n\n const grid = (\n
    \n
    \n
    \n {/* {logo} */}\n {props.eventSubTitle}
    \n {props.eventTitle}
    \n
    \n \n
    \n {sectionMainTitle}\n
    \n {loginForm}\n
    \n
    \n \n )\n\n const modal = (\n context.setLoginModalOpen(false)}\n />\n )\n\n return modal\n}\n\nexport default LoginModal","import React from 'react';\nconst SlidoIframe = (props) => {\n\n const minHeight = props.minHeight || \"560px\"\n\n return (\n
    `\n }} />\n )\n}\n\nSlidoIframe.className = \"slido\"\nexport default SlidoIframe","import classNames from \"classnames\"\nimport React, { useContext, useEffect, useRef, useState } from \"react\"\nimport { LIVE } from \"../../config/channelStatus\"\nimport MainContext from \"../../context/MainContext\"\nimport Row from \"../../ui/Row/Row\"\nimport Agenda from \"../Agenda/Agenda\"\nimport Input from \"../Input/Input\"\nimport SlidoIframe from \"../SlidoIframe/SlidoIframe\"\nimport Speakers from \"../Speakers/Speakers\"\nimport \"./PlayerSidebar.scss\"\n\nconst PlayerSidebar = ({ hideAgendaDatetime, ...props }) => {\n const context = useContext(MainContext)\n const mainRow = useRef()\n const [selectedSidebarTab, setSelectedSidebarTab] = useState(\"info\")\n const [offsetTop, setOffsetTop] = useState(0)\n // const [offsetRight, setOffsetRight] = useState(0)\n const [activeTabs, setActiveTabs] = useState([])\n const [touched, setTouched] = useState(false)\n\n const {\n contents,\n language,\n country,\n episodeId,\n internal,\n episode\n } = props\n\n const sidebarTabChanged = (e) => {\n setTouched(true)\n setSelectedSidebarTab(e.target.value)\n }\n const tabsDropdown = useRef()\n\n useEffect(() => {\n changePaddingTop()\n changePaddingRight()\n window.addEventListener(\"resize\", () => {\n changePaddingTop()\n changePaddingRight()\n })\n }, [])\n\n useEffect(() => {\n const newactiveTabs = episode?.playertabs?.filter(tab => {\n return tab.channel_status?.includes(context.channelStatus)\n })\n setActiveTabs(newactiveTabs)\n }, [episode, context.channelStatus])\n\n const changePaddingTop = () => {\n if (tabsDropdown.current) {\n setOffsetTop(tabsDropdown.current.offsetHeight)\n }\n }\n\n const changePaddingRight = () => {\n // if (mainRow.current) {\n // setOffsetRight(mainRow.current.style.paddingRight)\n // }\n }\n\n const slidoUrl = episode ? episode.slido_url : window._.get(context, \"episode.slido_url\")\n\n let options = [{\n value: \"\",\n label: selectedSidebarTab ? \"Close\" : \"Open\"\n }]\n\n if (!touched) {\n options.push({\n value: \"info\",\n label: contents.infoTabTitle || \"INFO\"\n })\n }\n\n options = options.concat([{\n value: \"agenda\",\n label: contents.agendaTitle\n }, {\n value: \"speakers\",\n label: contents.speakersTitle\n }])\n\n let tabsContent = {\n \"info\": (\n
    \n ),\n \"agenda\": (\n \n ),\n \"speakers\": (\n ),\n }\n\n if (slidoUrl) {\n tabsContent = {\n ...tabsContent,\n \"slido\": (\n \n )\n }\n }\n\n if ([LIVE].includes(context.channelStatus) && slidoUrl) {\n // if (context.channelStatus === LIVE && slidoUrl) {\n options.push({\n value: \"slido\",\n label: contents.pollingTitle || \"Polling\"\n })\n }\n if (activeTabs) {\n activeTabs.forEach(tab => {\n options.push({\n value: tab.id,\n label: tab.dropdown_title || tab.title\n })\n tabsContent = {\n ...tabsContent,\n [tab.id]: (\n
    \n )\n }\n })\n }\n\n const select = (\n sidebarTabChanged(e)}\n />\n )\n\n return (\n <>\n {/* {context.channelStatus} */}\n \n \n \n {select}\n
    \n \n {\n tabsContent[selectedSidebarTab]\n }\n
    \n \n
    \n \n {select}\n \n \n )\n}\n\nexport default PlayerSidebar","import classNames from \"classnames\"\nimport \"./DefaultPage.scss\"\nconst DefaultPage = (props) => {\n\n return (\n
    \n {\n props.message ? (\n
    \n
    \n ) : null\n }\n {\n props.content ? (\n
    \n {props.content}\n
    \n ) : null\n\n }\n
    \n )\n}\n\n//\n\nexport default DefaultPage","import DefaultPage from \"../DefaultPage/DefaultPage\"\nconst Maintenance = (props) => {\n\n return (\n \n )\n}\n\nexport default Maintenance","const MainContainer = (props) => {\n return (\n
    \n {props.children}\n
    \n )\n}\n\nexport default MainContainer","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\n\nconst ThankYouRegistrationModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const grid = (\n \n {\n props.content ?\n (\n \n
    \n \n
    \n \n ) : null\n }\n
    \n )\n\n const modal = (\n context.setTankyouRegistrationModalOpen(false)}\n />\n )\n\n return modal\n}\n\nexport default ThankYouRegistrationModal","import React, { useState } from 'react';\nimport CookieConsent from \"react-cookie-consent\";\nimport AdamModal from '../AdamModal/AdamModal';\nimport { cleanCheckboxLabel } from '../../utils/functions';\nimport Container from '../../ui/Container/Container';\nimport Row from '../../ui/Row/Row';\n// import \"./PlayerBox.scss\"\nconst AdamCookieConsent = (props) => {\n\n const debug = true\n const { theme } = props\n const [modalOpen, setModalOpen] = useState(false)\n\n console.log(\"checkbox_label\", process.env.NODE_ENV)\n const openModal = (content) => {\n\n setModalOpen(true)\n }\n\n const onModalRequestClose = () => {\n\n\n setModalOpen(false)\n }\n const grid = props.ccContent ? (\n \n {\n \n
    \n \n
    \n \n }\n
    \n ) : null\n\n const modal = grid ? (\n \n ) : null\n\n const cleaned = cleanCheckboxLabel(props.ccCheckboxLabel)\n const label = (\n \n {\n cleaned.before ? (\n \n ) : null\n }\n {\n cleaned.linkContent ? props.ccContent ? (\n openModal(props.ccContent)}\n dangerouslySetInnerHTML={{\n __html: cleaned.linkContent\n }} />\n ) : (\n \n ) : null\n }\n {\n cleaned.after ? (\n \n ) : null\n }\n \n )\n return (\n <>\n \n {label}\n \n {modal}\n \n )\n}\n\nexport default AdamCookieConsent","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport { ThemeContext } from \"styled-components\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\n\nconst FormErrorsModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n let contents = []\n if (props.content) {\n Object.keys(props.content).forEach(item => {\n contents.push(\n \n {\n props.content[item] ? props.content[item].map(row =>
    {row}
    ) : null\n }\n \n )\n })\n }\n\n const grid = (\n \n {contents}\n \n )\n\n const modal = (\n context.closeFormErrorsModal()}\n />\n )\n\n return modal\n}\n\nexport default FormErrorsModal","import React, { useContext, useEffect, useState, } from 'react';\n\nimport { buildQuery } from '../api/functions';\nimport Form from '../components/Form/Form';\nimport MainContext from '../context/MainContext';\n\nimport { getContents } from '../utils/functions';\n\nconst QaAUserForm = ({ handleCurrentChannel, handleCurrentChannelTag, ...props }) => {\n const [defaultValues, setDefaultValues] = useState({});\n const [submitted, setSubmitted] = useState(false);\n const [currentChannel, setCurrentChannel] = useState();\n const [currentChannelTag, setCurrentChannelTag] = useState();\n\n const context = useContext(MainContext)\n\n useEffect(() => {\n if (!context.channelId) {\n setCurrentChannel()\n }\n else {\n setCurrentChannel(context.user?.channels?.find(item => parseInt(item.id) === parseInt(context.channelId)))\n }\n }, [context.channelId, context.user])\n\n useEffect(() => {\n setCurrentChannelTag(currentChannel?.stream_id)\n if (handleCurrentChannel) {\n handleCurrentChannel(currentChannel?.id)\n }\n }, [currentChannel])\n\n useEffect(() => {\n if (handleCurrentChannelTag) {\n handleCurrentChannelTag(currentChannelTag)\n }\n }, [currentChannelTag])\n\n const getEndpoint = () => {\n const query = buildQuery({});\n // const endpoint = `events/${event}/${CONTENTS}?${query}`;\n return [\n \"questions\"\n ].join(\"/\") + `?${query}`;\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n\n const contantFieldName = props.chairMan ?\n \"edited_content\" :\n \"original_content\"\n\n const onSubmit = (e) => {\n setDefaultValues({\n ...defaultValues,\n [contantFieldName]: \"\"\n });\n\n setSubmitted(true)\n\n window.setTimeout(() => {\n setSubmitted(false)\n }, 3000)\n\n if (getValue(\"send_immediately\")) {\n props.onSubmit(e)\n }\n }\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episode_id\",\n name: \"episode_id\",\n value: window._.get(context, \"episode.id\"),\n },\n {\n elementType: \"hidden\",\n id: \"stream_id\",\n name: \"stream_id\",\n value: currentChannelTag,\n },\n ]\n : [];\n\n fields.push({\n elementType: \"textarea\",\n id: contantFieldName,\n name: contantFieldName,\n required: true,\n label: window._.get(context, \"contents.qnaFormTextareaLabel\") || \"Please type your question here\",\n placeholder: window._.get(context, \"contents.qnaFormTextareaPlaceholder\") || \"Ask a question\",\n value: getValue(contantFieldName),\n disabled: !props.enabled && !props.chairMan\n })\n\n if (props.chairMan) {\n fields.push({\n elementType: \"hidden\",\n id: \"confirmed\",\n name: \"confirmed\",\n value: getValue(\"send_immediately\"),\n })\n fields.push({\n elementType: \"hidden\",\n id: \"original_content\",\n name: \"original_content\",\n value: getValue(\"edited_content\")\n })\n const episodeQaaCategories = window._.get(context, \"episode.qaa_categories\")\n // const episodeQaaCategories = null\n\n if (episodeQaaCategories) {\n let categorySelectOptions = [\n {\n value: null,\n label: window._.get(context, \"contents.qaa_category\") || \"Select a category\",\n }\n ]\n categorySelectOptions = categorySelectOptions.concat(episodeQaaCategories.map(item => {\n return {\n value: item.toLowerCase(),//internal_false_value_label\n label: item,\n }\n }))\n fields.push({\n elementType: \"select\",\n id: \"category\",\n name: \"category\",\n placeholder: window._.get(context, \"contents.qaa_category\") || \"Category\",\n value: getValue(\"category\"),\n options: categorySelectOptions\n })\n }\n fields.push({\n elementType: \"checkbox\",\n id: \"send_immediately\",\n name: \"send_immediately\",\n labelHtml: \"Send immediately\",\n value: getValue(\"send_immediately\"),\n })\n }\n\n const disableSubmit = () => {\n // let disable = false\n // context.event.episodes.forEach(item => {\n // if (item.id === window._.get(context, \"episode.id\")) {\n // disable = !item.is_subscriptions_open\n // }\n // })\n return submitted || (!props.enabled && !props.chairMan)\n // return submitted || (!props.enabled && !props.chairMan)\n }\n\n const submitButtonLabel = (submitted) ? getContents(context, \"questionSubmitted\") || \"Thank you\" : getContents(context, \"submitQuestion\") || \"Submit question\"\n\n return (\n
    \n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={submitButtonLabel}\n disableSubmit={disableSubmit()}\n disableRequiredHelper={true}\n disableValidation={true}\n inline={props.inline}\n />\n
    \n );\n}\n\nexport default QaAUserForm","import classNames from \"classnames\"\nimport React, { useEffect, useState, useContext } from \"react\"\nimport MainContext from \"../../context/MainContext\"\nimport QaAUserForm from \"../../forms/QaAUserForm\"\nimport Row from \"../../ui/Row/Row\"\nimport { consoleLog, getQaAEnabled, setQaAEnabled } from \"../../utils/functions\"\n\nconst QandA = (props) => {\n\n const [formEnabled, setFormEnabled] = useState(false)\n\n const context = useContext(MainContext)\n\n useEffect(() => {\n consoleLog(\"window.Pusher\", window.Pusher)\n window.Pusher.bind(\"App\\\\Events\\\\ChangeQaaStatus\", (data) => {\n consoleLog(`QandA ${JSON.stringify(data)}`);\n _setQaAEnabled(parseInt(data.status) === 1)\n })\n\n }, [context.channelId])\n\n useEffect(() => {\n\n let checkValue = _getQaAEnabled()\n consoleLog(\"checkValue1\", checkValue)\n if (checkValue === undefined) {\n checkValue = parseInt(context.episode.qaa_enabled)\n }\n consoleLog(\"checkValue2\", checkValue)\n if (checkValue !== formEnabled) {\n _setQaAEnabled(checkValue === 1)\n }\n }, [context.episode])\n\n const _setQaAEnabled = (value) => {\n setQaAEnabled(value)\n setFormEnabled(value)\n }\n\n const _getQaAEnabled = () => {\n getQaAEnabled()\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n )\n}\n\nexport default QandA","import React, { useContext, useEffect, useState, } from 'react';\n\nimport Form from '../components/Form/Form';\nimport MainContext from '../context/MainContext';\n\nimport { getContents } from '../utils/functions';\n\n\nconst EditQaAForm = (props) => {\n const [defaultValues, setDefaultValues] = useState({});\n\n const context = useContext(MainContext)\n\n useEffect(() => {\n setDefaultValues({\n \"edited_content\": props.edited_content || props.original_content\n })\n }, [props.edited_content, props.original_content])\n\n const getEndpoint = () => {\n return [\n \"questions\"\n ].join(\"/\");\n }\n\n const getValue = (name, type) => {\n const value = !window._.isEmpty(defaultValues) ? defaultValues[name] : null;\n switch (type) {\n case \"bool\":\n return value !== 0;\n default:\n return value || \"\";\n }\n };\n\n const onChange = (key, value) => {\n setDefaultValues({\n ...defaultValues,\n [key]: value\n });\n }\n\n const onSubmit = (e) => {\n props.onSubmit(e)\n }\n\n let fields = 1\n ? [\n {\n elementType: \"hidden\",\n id: \"episode_id\",\n name: \"episode_id\",\n value: window._.get(context, \"episode.id\"),\n },\n ]\n : [];\n\n if (props.chairMan) {\n fields.push({\n elementType: \"hidden\",\n id: \"confirmed\",\n name: \"confirmed\",\n value: 1,\n })\n }\n\n fields.push({\n elementType: \"textarea\",\n id: \"edited_content\",\n name: \"edited_content\",\n required: true,\n placeholder: window._.get(context, \"contents.question\") || \"Ask a question\",\n value: getValue(\"edited_content\"),\n })\n\n const episodeQaaCategories = window._.get(context, \"episode.qaa_categories\")\n\n if (episodeQaaCategories) {\n const categorySelectOptions = episodeQaaCategories.map(item => {\n return {\n value: item.toLowerCase(),//internal_false_value_label\n label: item,\n }\n })\n fields.push({\n elementType: \"select\",\n id: \"category\",\n name: \"category\",\n placeholder: window._.get(context, \"contents.qaa_category\") || \"Assign a category\",\n value: getValue(\"category\"),\n options: categorySelectOptions\n })\n }\n\n return (\n
    \n onSubmit(e)}\n onChange={(key, val) => onChange(key, val)}\n submitButtonLabel={getContents(context, \"sendQuestionToSpeaker\") || \"Send question to the chairman\"}\n disableSubmit={false}\n disableRequiredHelper={true}\n abortButton={true}\n onAbortClicked={props.onAbort}\n deleteButton={true}\n onDeleteClicked={props.onDelete}\n updateButton={true}\n onUpdateClicked={props.onUpdate}\n />\n
    \n );\n}\n\nexport default EditQaAForm","import classNames from \"classnames\"\nimport React, { useContext, useEffect, useState } from \"react\"\nimport MainContext from \"../../context/MainContext\"\nimport QaAUserForm from \"../../forms/QaAUserForm\"\nimport { deleteQuestion, loadQuestions } from \"../../api/functions\"\nimport EditQaAForm from \"../../forms/EditQaAForm\"\nimport { initPusher, localTime } from \"../../utils/functions\"\nimport _ from \"lodash\"\n\nconst QaACardSidebar = (props) => {\n\n const context = useContext(MainContext)\n const postFix = props.sent ? \"sent\" : \"sidebar\"\n const country = window._.get(props, \"country.title\")\n\n const senderIsAttendant = !window._.get(props, \"subscriber.subscription.is_chairman\") && !window._.get(props, \"subscriber.subscription.is_internal\")\n\n const originalContent = window._.get(props, \"original_content\")\n const editedContent = window._.get(props, \"edited_content\")\n const edited = (editedContent !== null) && (editedContent !== originalContent)\n const senderName = `${window._.get(props, \"subscriber.firstname\")} ${window._.get(props, \"subscriber.lastname\")}`\n const editedLabel = edited ? ` (edited)` : null\n\n return (\n
    \n \n {senderName}{editedLabel} {\n country && senderIsAttendant ? ` (${country})` : null\n }\n
    \n {localTime(window._.get(props, \"created_at\"), context.event.timezone).format(\"D-M-Y H:m\")}\n {\n props.sent ? (\n \n {editedContent || originalContent}\n \n ) : (\n \n {editedContent || originalContent}\n \n )\n }\n \n )\n}\n\n\nconst QaACardEditable = (props) => {\n\n const context = useContext(MainContext)\n const country = window._.get(props, \"country.title\")\n const senderIsAttendant = !window._.get(props, \"subscriber.subscription.is_chairman\") && !window._.get(props, \"subscriber.subscription.is_internal\")\n return (\n \n {localTime(window._.get(props, \"created_at\"), context.event.timezone).format(\"D-M-Y H:m\")}\n {window._.get(props, \"subscriber.firstname\")} {window._.get(props, \"subscriber.lastname\")} {\n country && senderIsAttendant ? ` (${country})` : null\n }\n {window._.get(props, \"original_content\")}\n \n \n )\n}\n\nconst QandAManager = (props) => {\n const context = useContext(MainContext)\n const [loadedQuestions, setLoadedQuestions] = useState([])\n const [pushedQuestions, setPushedQuestions] = useState([])\n const [sentQuestions, setSentQuestions] = useState([])\n const [editableQuestions, setEditableQuestions] = useState([])\n const [editableQuestionsId, setEditableQuestionsId] = useState([])\n const [currentChannelId, setCurrentChannelId] = useState();\n const [currentChannelTag, setCurrentChannelTag] = useState();\n const [loading, setLoading] = useState(false)\n\n // useEffect(() => {\n // _loadQuestions()\n // }, [])\n\n useEffect(() => {\n if (pushedQuestions.length > 0) {\n let newLoadedQuestions = [...pushedQuestions]\n newLoadedQuestions = newLoadedQuestions.concat(loadedQuestions)\n setLoadedQuestions(newLoadedQuestions)\n setPushedQuestions([])\n }\n }, [pushedQuestions])\n\n // useEffect(() => {\n // window.Pusher = initPusher()\n\n // if (context.episodeId && !window._.isEmpty(context.user)) {\n // const channel = window.Pusher.subscribe(`private-qaa-moderator-${props.eventId}.${context.episodeId}`)\n // channel.bind_global(globalCallback);\n // }\n // return function cleanup() {\n // if (window.Pusher) {\n // window.Pusher.unsubscribe(`private-qaa-moderator-${props.eventId}.${context.episodeId}`)\n // }\n // };\n // }, [context.episodeId])\n\n useEffect(() => {\n if (currentChannelId) {\n _loadQuestions(context.episodeId, currentChannelTag)\n\n window.Pusher = initPusher()\n\n if (context.episodeId && !window._.isEmpty(context.user)) {\n const channel = window.Pusher.subscribe(`private-qaa-moderator-${props.eventId}.${context.episodeId}`)\n channel.bind_global(globalCallback);\n }\n return function cleanup() {\n if (window.Pusher) {\n window.Pusher.unsubscribe(`private-qaa-moderator-${props.eventId}.${context.episodeId}`)\n }\n };\n }\n }, [currentChannelTag, context.episodeId])\n\n const _loadQuestions = async (episodeId, tag) => {\n let params = {\n episode_id: episodeId\n }\n if (tag) {\n params = {\n ...params,\n stream_id: tag\n }\n }\n const res = await loadQuestions(params)\n setLoadedQuestions(res)\n const res2 = await loadQuestions({\n ...params,\n forwarded: true\n })\n setSentQuestions(res2)\n }\n\n const globalCallback = (eventName, data) => {\n switch (eventName) {\n case \"App\\\\Events\\\\NewQuestionToModerate\":\n addNewQuestionToModerate(data.question, currentChannelTag)\n break\n }\n }\n\n const addNewQuestionToModerate = (question, tag) => {\n console.log(\"currentChannelTag\", currentChannelTag, tag)\n if (!currentChannelTag || parseInt(currentChannelTag) === parseInt(question.stream_id)) {\n let newLoadedQuestions = [...pushedQuestions]\n newLoadedQuestions.unshift(question)\n setPushedQuestions(newLoadedQuestions)\n }\n }\n\n const addToEditableList = (item) => {\n let newList = [...editableQuestions]\n let newListId = [...editableQuestionsId]\n newList.unshift(item)\n newListId.unshift(item.id)\n setEditableQuestions(newList)\n setEditableQuestionsId(newListId)\n\n // setLoadedQuestions(loadedQuestions => [...loadedQuestions].filter(q => q.id !== item.id))\n }\n\n const removeFromEditableList = (itemId) => {\n let newList = [...editableQuestions]\n let newListId = [...editableQuestionsId]\n newList = newList.filter(item => item.id !== itemId)\n newListId = newListId.filter(id => id !== itemId)\n setEditableQuestions(newList)\n setEditableQuestionsId(newListId)\n }\n\n const removeFromPage = (question) => {\n removeFromEditableList(question.id)\n // if (!question.deleted) {\n if (question.confirmed) {\n addToSentList(question)\n }\n // else {\n if (question.defaultValues) {\n question = {\n ...question,\n edited_content: question.defaultValues.edited_content\n }\n }\n // const newList = [...loadedQuestions].filter(item => item.id !== question.id)\n // console.log(\"newList\", newList)\n // if (!question.deleted) {\n // newList.unshift(question)\n // }\n // console.log(\"newList\", newList)\n // setLoadedQuestions(newList)\n setLoadedQuestions(a => {\n let newList = [...a].filter(item => item.id !== question.id)\n if (!question.deleted && !question.confirmed) {\n newList.unshift(question)\n // newList = [question].concat(newList)\n }\n return newList\n })\n // addNewQuestionToModerate(question)\n // }\n // }\n }\n\n const addToSentList = (question) => {\n let newSentList = [...sentQuestions]\n newSentList.unshift(question)\n setSentQuestions(newSentList)\n }\n\n const deleteSelectedQuestion = async (item) => {\n setLoading(item.id)\n try {\n await deleteQuestion(item.id)\n removeFromPage({\n ...item,\n deleted: true\n })\n }\n catch (e) {\n alert(\"Something went wrong\")\n }\n finally {\n setLoading(false)\n }\n }\n\n const openConfirm = (item) => {\n // eslint-disable-next-line no-restricted-globals\n if (confirm(\"Are you sure you want to delete permanently this question?\")) {\n deleteSelectedQuestion(item)\n }\n }\n\n const openSaveForLater = (item) => {\n }\n let loadedQuestionsFiltered = loadedQuestions.filter((item, index) => !editableQuestionsId.includes(item.id))\n loadedQuestionsFiltered = _.uniqBy(loadedQuestionsFiltered, 'id')\n // const loadedQuestionsFiltered = loadedQuestions\n return (\n <>\n \n

    Questions from users {`${loadedQuestionsFiltered?.length > 0 ? ` (${loadedQuestionsFiltered.length})` : \"\"}`}

    \n {\n loadedQuestionsFiltered && loadedQuestionsFiltered.length > 0 ? loadedQuestionsFiltered.map((item, index) => {\n return (\n addToEditableList(item)}\n />\n )\n }) : (\n
    Questions list is empty
    \n )\n }\n \n \n

    Selected questions

    \n
    \n {\n editableQuestions && editableQuestions.length > 0 ? editableQuestions.map((item, index) => {\n return (\n removeFromEditableList(item.id)}\n onAbort={() => removeFromPage(item)}\n onSubmit={(newValues) => removeFromPage(newValues)}\n onDelete={() => openConfirm(item)}\n onUpdate={() => openSaveForLater(item)}\n />\n )\n }) : (\n
    Select questions to edit
    \n )\n }\n
    \n

    Forwarded to the chairman

    \n {\n sentQuestions && sentQuestions.length > 0 ? sentQuestions.map((item, index) => {\n return (\n \n )\n }) : null\n }\n \n \n

    Add questions

    \n addToSentList(e)}\n handleCurrentChannel={(e) => setCurrentChannelId(e)}\n handleCurrentChannelTag={(e) => setCurrentChannelTag(e)}\n />\n \n \n )\n}\n\nexport default QandAManager","import classNames from \"classnames\"\nimport React, { useContext, useEffect, useState } from \"react\"\nimport MainContext from \"../../context/MainContext\"\nimport { loadQuestions, markQuestionAsRead } from \"../../api/functions\"\nimport { getContents, initPusher, localTime } from \"../../utils/functions\"\nimport Button from \"../../ui/Button/Button\"\nimport Input from \"../Input/Input\"\n\nconst QaACardSidebar = (props) => {\n\n const context = useContext(MainContext)\n const country = window._.get(props, \"country.title\")\n const senderIsAttendant = !window._.get(props, \"subscriber.subscription.is_chairman\") && !window._.get(props, \"subscriber.subscription.is_internal\")\n return (\n
    \n \n {window._.get(props, \"subscriber.firstname\")} {window._.get(props, \"subscriber.lastname\")} {\n country && senderIsAttendant ? ` (${country})` : null\n }\n
    \n {localTime(window._.get(props, \"created_at\"), context.event.timezone).format(\"D-M-Y H:m\")}\n {\n props.category && (\n
    [{props.category}]
    \n )\n }\n \n {window._.get(props, \"edited_content\")}\n \n \n )\n}\n\nconst QaACardEditable = (props) => {\n\n const context = useContext(MainContext)\n const [loading, setLoading] = useState(false)\n const country = window._.get(props, \"country.title\")\n const senderIsAttendant = !window._.get(props, \"subscriber.subscription.is_chairman\") && !window._.get(props, \"subscriber.subscription.is_internal\")\n const markAsRead = async () => {\n setLoading(true)\n try {\n const res = await markQuestionAsRead(props.id)\n if (window._.get(res, \"id\")) {\n props.onSubmit()\n }\n }\n catch (e) {\n alert(\"Something went wrong\")\n }\n finally {\n setLoading(false)\n }\n }\n\n return (\n \n {localTime(window._.get(props, \"created_at\"), context.event.timezone).format(\"D-M-Y H:m\")}\n {window._.get(props, \"subscriber.firstname\")} {window._.get(props, \"subscriber.lastname\")} {\n country && senderIsAttendant ? ` (${country})` : null\n }\n {\n props.category && (\n
    \n [{props.category}]\n
    \n )\n }\n {window._.get(props, \"edited_content\")}\n \n {\n loading ? \"Please wait\" : getContents(context, \"markAsRead\") || \"Delete\"\n }\n \n \n {\n getContents(context, \"unselectQaaQuestion\") || \"Unselect\"\n }\n \n \n )\n}\n\nconst QandASpeaker = (props) => {\n const context = useContext(MainContext)\n const [loadedQuestions, setLoadedQuestions] = useState([])\n const [pushedQuestions, setPushedQuestions] = useState([])\n const [editableQuestions, setEditableQuestions] = useState([])\n const [editableQuestionsId, setEditableQuestionsId] = useState([])\n const [categoryFilter, setCategoryFilter] = useState()\n const [currentChannel, setCurrentChannel] = useState();\n const [currentChannelTag, setCurrentChannelTag] = useState();\n // useEffect(() => {\n // _loadQuestions()\n // }, [])\n\n useEffect(() => {\n if (pushedQuestions.length > 0) {\n let newLoadedQuestions = [...pushedQuestions]\n newLoadedQuestions = newLoadedQuestions.concat(loadedQuestions)\n setLoadedQuestions(newLoadedQuestions)\n setPushedQuestions([])\n }\n }, [pushedQuestions])\n\n useEffect(() => {\n if (!context.channelId) {\n setCurrentChannel()\n }\n else {\n setCurrentChannel(context.user?.channels?.find(item => parseInt(item.id) === parseInt(context.channelId)))\n }\n }, [context.channelId, context.user])\n\n useEffect(() => {\n setCurrentChannelTag(currentChannel?.stream_id)\n }, [currentChannel])\n\n useEffect(() => {\n if (currentChannel) {\n _loadQuestions(context.episodeId, currentChannelTag)\n }\n window.Pusher = initPusher()\n if (context.episodeId && !window._.isEmpty(context.user)) {\n // _loadQuestions(context.episodeId)\n const channel = window.Pusher.subscribe(`private-qaa-speaker-${props.eventId}.${context.episodeId}`)\n channel.bind_global(globalCallback);\n }\n return function cleanup() {\n if (window.Pusher) {\n window.Pusher.unsubscribe(`private-qaa-speaker-${props.eventId}.${context.episodeId}`)\n }\n };\n }, [currentChannelTag, context.episodeId])\n\n // useEffect(() => {\n // window.Pusher = initPusher()\n // if (context.episodeId && !window._.isEmpty(context.user)) {\n // // _loadQuestions(context.episodeId)\n // const channel = window.Pusher.subscribe(`private-qaa-speaker-${props.eventId}.${context.episodeId}`)\n // channel.bind_global(globalCallback);\n // }\n // return function cleanup() {\n // if (window.Pusher) {\n // window.Pusher.unsubscribe(`private-qaa-speaker-${props.eventId}.${context.episodeId}`)\n // }\n // };\n // }, [context.episodeId])\n\n const _loadQuestions = async (episodeId, tag) => {\n let params = {\n episode_id: episodeId\n }\n if (tag) {\n params = {\n ...params,\n stream_id: tag\n }\n }\n const res = await loadQuestions(params)\n setLoadedQuestions(res)\n }\n\n const globalCallback = (eventName, data) => {\n switch (eventName) {\n case \"App\\\\Events\\\\NewQuestionToAnswer\":\n addNewQuestionToAnswer(data.question)\n break\n }\n }\n\n const addNewQuestionToAnswer = (question) => {\n if (!currentChannelTag || parseInt(currentChannelTag) === parseInt(question.stream_id)) {\n let newLoadedQuestions = [...pushedQuestions]\n newLoadedQuestions.unshift(question)\n setPushedQuestions(newLoadedQuestions)\n }\n }\n\n const addToEditableList = (item) => {\n let newList = [...editableQuestions]\n let newListId = [...editableQuestionsId]\n newList.unshift(item)\n newListId.unshift(item.id)\n setEditableQuestions(newList)\n setEditableQuestionsId(newListId)\n }\n\n const removeFromEditableList = (itemId) => {\n let newList = [...editableQuestions]\n let newListId = [...editableQuestionsId]\n newList = newList.filter(item => item.id !== itemId)\n newListId = newListId.filter(id => id !== itemId)\n setEditableQuestions(newList)\n setEditableQuestionsId(newListId)\n }\n\n const removeFromPage = (id) => {\n let newList = [...loadedQuestions]\n newList = newList.filter(item => item.id !== id)\n removeFromEditableList(id)\n setLoadedQuestions(newList)\n }\n\n let loadedQuestionsFiltered = loadedQuestions.filter(item => !editableQuestionsId.includes(item.id))\n if (categoryFilter && categoryFilter !== \"Filter by category\") {\n loadedQuestionsFiltered = loadedQuestionsFiltered.filter(item => categoryFilter === item.category)\n }\n return (\n <>\n \n

    Questions from users

    \n {\n window._.get(context, \"episode.qaa_categories\") ? (\n
    \n setCategoryFilter(e.target.value)}\n options={[\n {\n value: null,\n label: window._.get(context, \"contents.qaa_category\") || \"Filter by category\",\n },\n ...window._.get(context, \"episode.qaa_categories\").map(item => {\n return {\n value: item.toLowerCase(),//internal_false_value_label\n label: item\n }\n })]}\n />\n
    \n ) : \"No\"\n }\n {\n loadedQuestionsFiltered && loadedQuestionsFiltered.length > 0 ? loadedQuestionsFiltered.map(item => {\n return (\n addToEditableList(item)}\n />\n )\n }) : (\n
    The list is empty
    \n )\n }\n \n \n

    Select questions to read

    \n {\n editableQuestions && editableQuestions.length > 0 ? editableQuestions.map(item => {\n return (\n removeFromEditableList(item.id)}\n onSubmit={() => removeFromPage(item.id)}\n />\n )\n }) : (\n
    The list is empty
    \n )\n }\n \n \n )\n}\n\nexport default QandASpeaker","import classNames from \"classnames\"\nimport \"./AgendaAccordion.scss\"\n\nconst AgendaAccordion = (props) => {\n return (\n
    \n {props.children}\n
    \n )\n}\n\nexport default AgendaAccordion","import classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport { ThemeContext } from 'styled-components';\nimport MainContext from '../../context/MainContext';\nimport Row from '../../ui/Row/Row';\nimport { getThemeConfig } from '../../utils/functions';\nimport \"./EpisodeTitle.scss\"\n\nconst EpisodeTitle = ({ linesOrder, ...props }) => {\n\n const { episode, fullWidth } = props\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n const speakersLayoutCols = getThemeConfig(context, \"speakers.cols\")\n const agendaLayoutCols = getThemeConfig(context, \"agenda.cols\")\n\n let mobile = 12\n let tablet = 12\n let desktop = 12\n\n try {\n mobile = speakersLayoutCols.mobile + agendaLayoutCols.mobile\n tablet = speakersLayoutCols.tablet + agendaLayoutCols.tablet\n desktop = speakersLayoutCols.desktop + agendaLayoutCols.desktop\n }\n catch (e) { }\n\n // const liveStartDate = window._.get(episode, \"live_scheduling.start_at\")\n const liveStartDateDayName = window._.get(episode, \"live_scheduling.dayname_start_at\")\n // const vodStartDate = window._.get(episode, \"vod_scheduling.start_at\")\n const vodStartDateDayName = window._.get(episode, \"vod_scheduling.dayname_start_at\")\n\n // const liveStartDateTimeFormatted = liveStartDate ? localTime(liveStartDate, context.event.timezone).format(\"MMM D, YYYY\") : null\n const liveStartDateTimeFormatted = window._.get(episode, \"live_scheduling.formatted_start_at\")\n const liveStartDateFormatted = window._.get(episode, \"live_scheduling.formatted_date_start_at\")\n // const vodStartDateTimeFormatted = vodStartDate ? localTime(vodStartDate, context.event.timezone).format(\"MMM D, YYYY\") : null\n // const vodStartDateTimeFormatted = window._.get(episode, \"vod_scheduling.formatted_finish_at\")\n const vodStartDateFormatted = window._.get(episode, \"vod_scheduling.formatted_date_start_at\")\n\n // const openAccordionButton = (\n // props.onToggleAccordionClicked()}\n // >\n // {props.open ? \"-\" : \"+\"}\n // \n // )\n\n const interanlDatesBoxClassName = fullWidth ? \"col-12\" : \"col-xs-12 col-md-12 col-lg-3\"\n const interanlDetailssBoxClassName = fullWidth ? \"col-12\" : \"col-xs-12 col-md-12 col-lg-9\"\n\n const maxChannelDurationInHours = window._.get(props, \"episode.max_channel_duration\")\n const maxChannelDuration = themeContext.showVodDurationInDays ? parseInt(maxChannelDurationInHours / 24) : maxChannelDurationInHours\n\n const episodeDate = (\n <>\n {props.eventLive ? (\n
    \n {props.eventLiveTitle ? (\n \n ) : null}\n {\n themeContext.dateOnNewLine ?
    : \n }\n \n {/* {localTime(props.eventLive, context.event.timezone).format(\"HH:mm\")} */}\n {props.eventLive}\n \n
    \n ) : null}\n {props.eventVod ? (\n
    \n {props.eventVodTitle ? (\n \n ) : null}\n {\n themeContext.dateOnNewLine ?
    : \n }\n \n {/* {localTime(props.eventVod, context.event.timezone).format(\"HH:mm\")} */}\n {props.eventVod}\n {\n window._.get(props, \"episode.vod_channels_duration\") ? (\n {props.upTo || \"up to\"} {maxChannelDuration} {props.hours || \"hours\"}\n // {window._.get(props, \"episode.vod_channels_duration\").join(\"/\")} hours\n ) : null\n }\n \n
    \n ) : null}\n \n );\n\n const episodeTitle = (\n <>\n {props.eventTitle}\n {\n props.eventSubTitle ? (\n
    \n {props.eventSubTitle}\n
    \n ) : null\n }\n \n )\n // linesOrder\n\n let firstRow = null;\n let secondRow = null;\n\n switch (linesOrder) {\n case 1:\n firstRow = (\n {episodeTitle}\n );;\n secondRow = episodeDate;\n break;\n default:\n firstRow = episodeDate;\n secondRow = episodeTitle;\n }\n\n const intro = props.eventTitle ? (\n
    12 ? 12 : mobile}`]: mobile,\n [`col-md-${tablet > 12 ? 12 : tablet}`]: tablet,\n [`col-lg-${desktop > 12 ? 12 : desktop}`]: desktop,\n }, {\n popup: props.popup\n })}>\n \n {\n props.hideDates ? null : (\n
    \n {\n liveStartDateFormatted ? (\n <>\n
    {liveStartDateDayName}
    \n
    {liveStartDateFormatted}
    \n \n ) : null\n }\n {\n vodStartDateFormatted && !liveStartDateTimeFormatted ? (\n // vodStartDateTimeFormatted && (liveStartDateTimeFormatted !== vodStartDateTimeFormatted) ? (\n <>\n
    {vodStartDateDayName}
    \n
    {vodStartDateFormatted}
    \n \n ) : null\n }\n
    \n )\n }\n
    \n {
    \n {firstRow}\n
    }\n
    \n {secondRow}\n
    \n
    \n
    \n
    \n ) : null\n return intro\n}\n\nEpisodeTitle.className = \"episodetitle\"\nEpisodeTitle.fluid = true\nexport default EpisodeTitle","import classNames from \"classnames\"\nimport { useState } from \"react\"\nimport AgendaAccordion from \"../../ui/AgendaAccordion/AgendaAccordion\"\nimport Row from \"../../ui/Row/Row\"\nimport { consoleLog } from \"../../utils/functions\"\nimport Agenda from \"../Agenda/Agenda\"\nimport EpisodeTitle from \"../EpisodeTitle/EpisodeTitle\"\nimport Speakers from \"../Speakers/Speakers\"\nimport \"./EpisodeDetails.scss\"\n\nconst EpisodeDetails = (props) => {\n\n const [open, setOpen] = useState(false)\n const {\n episode,\n language,\n country,\n internal,\n contents,\n expandable,\n className,\n groupedSeakers,\n hideAgendaDatetime,\n accordionTitleIcon,\n fullWidth\n } = props\n\n const toggle = () => {\n consoleLog(\"toggle\")\n setOpen(open => {\n return !open\n })\n }\n\n let openIcon = null;\n let closeIcon = null;\n\n switch (accordionTitleIcon) {\n case 1:\n openIcon = (\n \n );\n closeIcon = (\n \n )\n break;\n default:\n openIcon = \"+\";\n closeIcon = \"-\";\n }\n\n const openAccordionButton = expandable ? (\n \n {open ? closeIcon : openIcon}\n \n ) : null\n\n const accordion = expandable ? (\n \n \n \n {\n groupedSeakers ? null : (\n \n )\n }\n\n \n \n ) : null\n\n return (\n \n {openAccordionButton}\n \n {accordion}\n \n )\n}\n\nexport default EpisodeDetails","import classNames from \"classnames\"\nimport \"./InitialModalBanner.scss\"\n\nconst InitialModalBanner = (props) => {\n\n const { icon } = props\n\n // switch (icon) {\n // case \"calendar\":\n // iconUrl = \"\"\n // break\n // case \"play\":\n // iconUrl = \"\"\n // break\n // case \"camera\":\n // iconUrl = \"\"\n // break\n // case \"flag\":\n // iconUrl = \"\"\n // break\n // }\n\n // const icon = iconUrl ? (\n //
    \n // \n //
    \n // ) : null\n const style = icon ? {\n backgroundImage: `url(/img/icons/${icon}.png)`\n } : {}\n return (\n \n
    \n {props.children}\n
    \n \n )\n}\n\nexport default InitialModalBanner","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport { ThemeContext } from \"styled-components\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\nimport InitialModalBanner from \"../../ui/InitialModalBanner/InitialModalBanner\";\nimport EventTitle from \"../EventTitle/EventTitle\";\nimport EpisodeDetails from \"../EpisodeDetails/EpisodeDetails\";\n\nconst InitialModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n\n const { contents } = props\n const { is2ColsView, episode, event, language, internal, country } = context\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n // hide_logo_initial_popup hideLogoInitialPopup\n // hide_title_initial_popup hideTitleInitialPopup\n const logo = !window._.isEmpty(themeContext.mediaHeaderLogoDesktop) && themeContext.showMainlogoInitialPopup ? (\n \n ) : context.siteTitle\n\n const bannersContents = {\n \"calendar\": contents.initialPopupBox1Title,\n \"youtube\": contents.initialPopupBox2Title,\n \"video\": contents.initialPopupBox3Title,\n \"flag\": contents.initialPopupBox4Title,\n }\n let banners = []\n if (themeContext.showBannersInitialPopup) {\n Object.keys(bannersContents).forEach(key => {\n if (bannersContents[key]) {\n banners.push({bannersContents[key]})\n }\n })\n }\n\n const eventTitle = themeContext.showTitleInitialPopup && episode ? (\n \n onEpisodeChange(e)}\n hideDropDown={true}\n showRightColLogo={themeContext.showLogoInitialPopup}\n />\n \n ) : null\n\n const grid = event ? (\n \n {logo}\n {eventTitle}\n {\n banners?.length > 0 && (\n \n {banners}\n \n )\n }\n \n {\n // form theme configuration\n themeContext.showEpisodesInitialPopup ? event.episodes.map((item, index) => {\n return (\n \n )\n }) : null\n }\n \n {\n props.content ?\n (\n \n
    \n \n
    \n \n ) : null\n }\n {\n contents.initialPopupFooter ? (\n
    \n ) : null\n }\n \n ) : null\n\n const modal = (\n props.onClose()}\n />\n )\n\n return modal\n}\n\nexport default InitialModal","import React, { useEffect, useState } from \"react\"\nimport { utc } from \"../../utils/functions\"\n\n\nconst CountDown = (props) => {\n\n const [timestamp, setTimestamp] = useState(0)\n\n useEffect(() => {\n const diff = utc().subtract(utc(props.dateTime))\n setTimestamp(diff.unix())\n window.setInterval(() => {\n const diff = utc().subtract(utc(props.dateTime))\n if (diff.unix() === 0 && props.onZero) {\n props.onZero()\n }\n setTimestamp(diff.unix())\n }, 1000)\n }, [])\n\n const seconds = Math.abs(parseInt(timestamp % 60))\n const minutes = Math.abs(parseInt(((timestamp % 3600)) / 60))\n const hrs = Math.abs(parseInt(timestamp % 86400 / 3600))\n const days = Math.abs(parseInt(timestamp / 86400))\n\n let output = null\n\n switch (props.mode) {\n case \"splitted\":\n output = (\n <>\n {days || \"\"}{days ? \"d \" : null}{hrs || \"\"}{hrs ? \"h \" : null}{minutes < 10 ? \"0\" : null}{minutes}m {seconds < 10 ? \"0\" : null}{seconds}s\n \n )\n break\n default:\n output = (\n <>\n {hrs || \"\"}{hrs ? \":\" : null}{minutes < 10 ? \"0\" : null}{minutes}:{seconds < 10 ? \"0\" : null}{seconds}\n \n )\n }\n\n return output\n}\n\nexport default CountDown","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport { localTime } from \"../../utils/functions\";\nimport Row from \"../../ui/Row/Row\";\nimport CountDown from \"../../ui/CountDown/CountDown\";\nimport \"./VirtualWorldModal.scss\"\n\nconst VirtualWorldModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const goToVw = () => {\n if (props.virtual_world_url && context.user) {\n let vwUrl = props.virtual_world_url + `?iam=${context.user.email}`\n if (context.isPreview) {\n vwUrl += `&preview=${context.isPreview}`\n }\n window.location.assign(vwUrl)\n }\n }\n\n const { virtual_world_start_at } = props\n\n const grid = (\n \n \n
    \n {props.eventTitle}\n
    \n
    \n \n \n \n \n \n \n
    \n \n
    \n )\n\n const now = new Date()\n const footerContent = context.event.client_name ? `Copyright © ${now.getFullYear()} ${context.event.client_name}` : null\n\n const modal = (\n props.onClose(false)}\n />\n )\n\n return modal\n}\n\nexport default VirtualWorldModal","import React, { useContext } from \"react\"\nimport classNames from \"classnames\";\nimport PlayerBox from \"../PlayerBox/PlayerBox\";\nimport QandA from \"../QandA/QandA\";\nimport Row from \"../../ui/Row/Row\";\nimport { LIVE, PRE_LIVE, PRE_VOD, UNKNOWN, VOD } from \"../../config/channelStatus\";\nimport SlidoIframe from \"../SlidoIframe/SlidoIframe\";\nimport \"./IframeContent.scss\"\nimport FakePlayer from \"../FakePlayer/FakePlayer\";\nimport MainContext from \"../../context/MainContext\";\n\nconst IframeContent = (props) => {\n\n const { slido, eventId, episode, channelStatus, goToPlayer, hideQaAIframe } = props\n const slidoUrl = episode ? episode.slido_url : \"\"\n\n const context = useContext(MainContext)\n let content = null\n\n const showSlido = (slido && context.channelStatus && context.channelStatus !== UNKNOWN)\n\n if (!episode) {\n content = (\n
    \n \n {window._.get(context, \"contents.notEligible\")}\n \n
    \n )\n }\n else if (goToPlayer && episode) {\n content = (\n <>\n
    \n \n {\n ([LIVE, PRE_LIVE, VOD, PRE_VOD].includes(channelStatus)) && !hideQaAIframe ? (\n \n ) : null\n }\n
    \n {\n (showSlido) && slidoUrl ? (\n
    \n \n
    \n ) : null\n }\n \n )\n }\n return (\n
    \n \n {content}\n \n
    \n )\n}\n\nexport default IframeContent","import React, { useEffect, useState, useContext } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\";\nimport MainContext from \"../../context/MainContext\";\nimport Button from \"../../ui/Button/Button\";\nimport Spin from \"../../ui/Spin/Spin\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\n\nconst AlreadyLoggedInModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n\n\n const grid = (\n \n \n {\n context.loginErrors ? (\n \n {context.loginErrors.join(\", \")}\n \n ) : null\n }\n \n\n \n \n {\n context.alreadyLoggedError ? (\n <>\n
    \n {window._.get(context, \"contents.closeEveryOpenSessionMessage\")}\n
    \n props.onForceLogoutClicked()}>\n {\n context.loggingOut ? (\n \n // \n ) : window._.get(context, \"contents.closeEveryOpenSessionButtonText\")\n }\n \n \n ) : null\n }\n \n
    \n
    \n )\n\n const modal = (\n context.closeAlreadyLoggedInModal()}\n />\n )\n\n return modal\n}\n\nexport default AlreadyLoggedInModal","import React, { useEffect, useState, useContext } from \"react\"\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\nimport Button from \"../../ui/Button/Button\";\nimport { sendEvaluationFormAnswers } from \"../../api/functions\"\nimport classNames from \"classnames\";\nimport \"./EvaluationForm.scss\"\n\nconst EvaluationForm = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n const [episode, setEpisode] = useState()\n const [loading, setLoading] = useState(false)\n const [answers, setAnswers] = useState({})\n const [formFeedback, setFormFeedback] = useState()\n const [formErrors, setFormErrors] = useState([])\n const [answered, setAnswered] = useState([])\n\n const { user } = props\n // const userEpisodes = window._.get(user, `questions`, []).filter(item => item.is_evaluation_open)\n const userOpenQuestions = window._.get(user, `questions`, [])\n const userEpisodes = window._.get(user, `episodes`, []).filter(item => item.is_evaluation_open && userOpenQuestions.includes(item.id))\n const questionsCategories = window._.get(episode, \"evaluation_questions\")\n\n useEffect(() => {\n if (userEpisodes.length === 1) {\n setEpisode(userEpisodes[0])\n }\n }, [user])\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n const isModal = () => {\n return props.modal\n }\n\n const onChange = (key, e) => {\n const value = e.target.value\n setAnswers({\n ...answers,\n [key]: value\n })\n }\n\n const buttonIsDisabled = () => {\n if (!answers) {\n return false\n }\n let answersResults = []\n Object.keys(answers).forEach(k => {\n answersResults.push(answers[k])\n })\n let questionsCOunt = 0\n if (questionsCategories) {\n questionsCategories.forEach(cat => {\n questionsCOunt += cat.evaluationquestions.length\n })\n }\n return (\n !questionsCategories ||\n loading ||\n answersResults.filter(item => !!item).length !== questionsCOunt\n )\n }\n\n const sendAnswers = async () => {\n setFormFeedback(formFeedback => {\n return {\n ...formFeedback,\n [episode.id]: null\n }\n })\n setFormErrors()\n setLoading(true)\n try {\n const res = await sendEvaluationFormAnswers({\n episode_id: episode.id,\n answers: answers\n })\n setFormFeedback(formFeedback => {\n let ff = formFeedback\n ff[episode.id] = \"Thank you for your time!\"\n return ff\n })\n // setFormFeedback(\"Thank you for your time!\")\n setAnswered(answered => answered.concat(episode.id))\n setAnswers()\n // props.setEvaluationFormAnswered(true)\n // window.setTimeout(() => {\n // close()\n // }, 2000)\n }\n catch (e) {\n const newErrors = window._.get(e, \"response.data.message\")\n setFormErrors(newErrors)\n }\n finally {\n setLoading(false)\n }\n }\n\n const close = () => {\n setFormErrors()\n setFormFeedback()\n props.closeEvaluartionFormModal()\n }\n\n const grid = episode ? window._.get(props.answered, episode.id) ? ( //window._.get(props.answered, episode.id)\n \n \n
    \n {props.alreadyAnsweredMessage}\n
    \n
    \n
    \n ) : (\n \n \n \n {\n userEpisodes.length > 1 ? (\n setEpisode()}\n >
    \n ) : null\n }\n
    {episode.evaluation_form_title || episode.title}
    \n {episode.episode_categories && (\n
    \n {episode.episode_categories.map(cat => cat.title_default)}\n
    \n )}\n \n \n {\n window._.get(formFeedback, episode.id) ? (\n \n
    \n {window._.get(formFeedback, episode.id)}\n
    \n
    \n ) : questionsCategories ? questionsCategories.map((category, index) => {\n return (\n
    \n {\n category.evaluationquestions.length ? (\n \n \n {category.title}\n
    \n \n ) : null\n }\n\n
    \n {\n category.evaluationquestions.map(item => {\n\n const answer = (!item.question_type) ? (\n onChange(item.id, e)}\n className=\"form-control form-control-lg\"\n >\n ) : item.is_radio ? (\n
    \n {\n item.options ? item.options.map(option => {\n return (\n \n onChange(item.id, e)}\n />\n \n
    \n )\n }) : null\n }\n
    \n ) : (\n onChange(item.id, e)}\n className=\"form-control\"\n >\n \n \n {\n (item.options && !window._.isEmpty(item.options)) ? Object.keys(item.options).map(k => {\n return (\n \n {item.options[k]}\n \n )\n }) : null\n }\n \n )\n\n const legend = item.legend ? (\n \n ) : null\n\n return (\n \n
    \n \n {legend}\n
    \n
    \n {answer}\n
    \n \n )\n })\n }\n \n \n )\n }) : \"No questions\"\n }\n \n \n {\n formErrors ? (\n \n {formErrors}\n \n ) : null\n }\n {\n window._.get(formFeedback, episode.id) ? null : (\n \n \n {\n loading ? \"Please wait\" : \"Confirm\"\n }\n \n \n )\n }\n\n \n \n \n\n ) : (\n \n \n {userEpisodes.map(_episode => {\n const _answered = window._.get(user, `answers.${_episode.id}.answered`) || answered.includes(_episode.id)\n return (\n {\n if (_answered) {\n return false\n }\n else {\n setEpisode(_episode)\n }\n }}\n >\n
    \n {_episode.evaluation_form_title || _episode.title}\n
    \n {\n _answered ? (\n
    \n \n {props.alreadyAnsweredMessage}\n \n
    \n ) : null\n }\n \n )\n })}\n \n \n Close\n \n \n
    \n
    \n )\n\n // const modal = (\n // close()}\n // />\n // )\n\n return (\n {grid}\n )\n}\n\nexport default EvaluationForm","export const DEFAULT = 0; // DEFAULT\n\nexport const MSD_CTIO_A = 101;\nexport const MSD_CTIO_B = 102;\nexport const MSD_CTIO_C = 100;","import classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport { ThemeContext } from 'styled-components';\nimport MainContext from '../../context/MainContext';\nimport Row from '../../ui/Row/Row';\nimport { getThemeConfig, localTime } from '../../utils/functions';\nimport \"./EpisodeTitle.scss\"\n\nconst EpisodeTitleWithNestedAgenda = (props) => {\n\n const { episode, agenda, fullWidth } = props\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n const speakersLayoutCols = getThemeConfig(context, \"speakers.cols\")\n const agendaLayoutCols = getThemeConfig(context, \"agenda.cols\")\n\n let mobile = 12\n let tablet = 12\n let desktop = 12\n\n try {\n mobile = speakersLayoutCols.mobile + agendaLayoutCols.mobile\n tablet = speakersLayoutCols.tablet + agendaLayoutCols.tablet\n desktop = speakersLayoutCols.desktop + agendaLayoutCols.desktop\n }\n catch (e) { }\n\n const title = agenda?.title || props.eventTitle\n\n // const interanlDetailssBoxClassName = fullWidth ? \"col-12\" : \"col-xs-12 col-md-12 col-lg-9\"\n console.log(\"liveStartDateFormatted\", props.eventTitle, props.id)\n const intro = props.eventTitle ? (\n
    \n \n {\n props.hideDates ? props.eventSubTitle ? (\n
    \n {props.eventSubTitle}\n
    \n ) : null : (\n
    \n {\n props.eventTitle ? (\n <>\n {/*
    {liveStartDate ? localTime(liveStartDate, context.event.timezone).format(\"dddd\") : null}
    */}\n
    {title}
    \n \n ) : null\n }\n {/* {\n vodStartDateFormatted && !liveStartDateFormatted ? (\n // vodStartDateFormatted && (liveStartDateFormatted !== vodStartDateFormatted) ? (\n <>\n
    {vodStartDate ? localTime(vodStartDate, context.event.timezone).format(\"dddd\") : null}
    \n
    {vodStartDateFormatted}
    \n \n ) : null\n } */}\n
    \n )\n }\n
    \n
    \n ) : null\n return intro\n}\n\nEpisodeTitleWithNestedAgenda.className = \"parent-agenda-title\"\nEpisodeTitleWithNestedAgenda.fluid = true\nexport default EpisodeTitleWithNestedAgenda","import classNames from 'classnames';\nimport React, { useContext } from 'react';\nimport MainContext from '../../context/MainContext';\nimport Row from '../../ui/Row/Row';\nimport { localTime } from '../../utils/functions';\nimport \"./EpisodeTitle.scss\"\n\nconst NestedAgendaTitle = (props) => {\n\n const { agenda, showDate } = props\n const context = useContext(MainContext)\n // const speakersLayoutCols = getThemeConfig(context, \"speakers.cols\")\n // const agendaLayoutCols = getThemeConfig(context, \"agenda.cols\")\n\n // let mobile = 12\n // let tablet = 12\n // let desktop = 12\n\n // try {\n // mobile = speakersLayoutCols.mobile + agendaLayoutCols.mobile\n // tablet = speakersLayoutCols.tablet + agendaLayoutCols.tablet\n // desktop = speakersLayoutCols.desktop + agendaLayoutCols.desktop\n // }\n // catch (e) { }\n\n const title = (\n \n \n {\n showDate ?\n localTime(agenda.start_at, context.event.timezone).format(\"HH:mm\") :\n `${agenda.duration} ${window._.get(context, \"contents.minutes\") || 'minutes'}`\n }\n \n \n {agenda?.title}\n \n \n )\n const intro = title ? (\n
    \n \n {\n props.hideDates ? null : (\n
    \n {\n title ? (\n <>\n {/*
    {liveStartDate ? localTime(liveStartDate, context.event.timezone).format(\"dddd\") : null}
    */}\n
    {title}
    \n \n ) : null\n }\n {/* {\n vodStartDateFormatted && !liveStartDateFormatted ? (\n // vodStartDateFormatted && (liveStartDateFormatted !== vodStartDateFormatted) ? (\n <>\n
    {vodStartDate ? localTime(vodStartDate, context.event.timezone).format(\"dddd\") : null}
    \n
    {vodStartDateFormatted}
    \n \n ) : null\n } */}\n
    \n )\n }\n
    \n
    \n ) : null\n return intro\n}\n\nNestedAgendaTitle.className = \"nested-agenda-title\"\nNestedAgendaTitle.fluid = true\nexport default NestedAgendaTitle","import classNames from \"classnames\"\nimport { useContext, useEffect, useState } from \"react\"\nimport MainContext from \"../../context/MainContext\"\nimport AgendaAccordion from \"../../ui/AgendaAccordion/AgendaAccordion\"\nimport Row from \"../../ui/Row/Row\"\nimport { consoleLog, getThemeConfig } from \"../../utils/functions\"\nimport Agenda from \"../Agenda/Agenda\"\nimport NestedAgendaTitle from \"../EpisodeTitle/NestedAgendaTitle\"\nimport Speakers from \"../Speakers/Speakers\"\nimport \"./EpisodeDetails.scss\"\nimport { LIVE, PRE_LIVE } from \"../../config/channelStatus\"\n\nconst NestedAgendaDetails = (props) => {\n\n const [open, setOpen] = useState(false)\n const [liveMode, setLiveMode] = useState(false)\n const context = useContext(MainContext)\n const {\n agenda,\n language,\n country,\n internal,\n episode,\n // expandable,\n className,\n groupedSeakers\n // fullWidth\n } = props\n\n useEffect(() => {\n let newLiveMode = false\n episode?.channels.forEach(element => {\n if ([LIVE, PRE_LIVE].includes(element.status)) {\n newLiveMode = true\n }\n });\n setLiveMode(newLiveMode)\n }, [episode])\n\n const toggle = () => {\n consoleLog(\"toggle\")\n setOpen(open => {\n return !open\n })\n }\n\n const getChildren = () => {\n return agenda.children || []\n }\n\n const hasChildren = () => {\n return getChildren().length > 0\n }\n\n const openAccordionButton = hasChildren() ? (\n \n {open ? (\n \n ) : \n }\n \n ) : null\n\n const accordion = hasChildren() ? (\n \n {\n getChildren().map((child, index) => {\n return (\n \n \n {\n groupedSeakers ? null : (\n \n )\n }\n \n )\n })\n }\n \n ) : null\n\n return (\n \n {openAccordionButton}\n \n {accordion}\n \n )\n}\n\nexport default NestedAgendaDetails","import classNames from \"classnames\"\nimport { useContext, useEffect, useState } from \"react\"\nimport { consoleLog } from \"../../utils/functions\"\nimport EpisodeTitleWithNestedAgenda from \"../EpisodeTitle/EpisodeTitleWithNestedAgenda\"\nimport \"./EpisodeDetails.scss\"\nimport NestedAgendaDetails from \"./NestedAgendaDetails\"\nimport { LIVE, PRE_LIVE } from \"../../config/channelStatus\"\nimport { ThemeContext } from \"styled-components\"\n\nconst EpisodeDetailsWithNestedAgenda = (props) => {\n\n const themeContext = useContext(ThemeContext);\n const [open, setOpen] = useState(false)\n const [liveMode, setLiveMode] = useState(false)\n const {\n episode,\n language,\n country,\n contents,\n className,\n groupedSeakers\n } = props\n\n useEffect(() => {\n let newLiveMode = false\n episode?.channels.forEach(element => {\n if ([LIVE, PRE_LIVE].includes(element.status)) {\n newLiveMode = true\n }\n });\n setLiveMode(newLiveMode)\n }, [episode])\n\n const toggle = () => {\n consoleLog(\"toggle\")\n setOpen(open => {\n return !open\n })\n }\n\n const getEventVod = () => {\n return window._.get(episode, \"vod_scheduling.formatted_start_at\")\n }\n\n const getEventVodTitle = () => {\n return window._.get(contents, \"vodDatetimeTitle\")\n }\n\n const getChannelsDuration = () => {\n const maxChannelDurationInHours = window._.get(props, \"episode.max_channel_duration\")\n return themeContext.showVodDurationInDays ? parseInt(maxChannelDurationInHours / 24) : maxChannelDurationInHours\n }\n\n return (\n \n {/* {openAccordionButton} */}\n \n {\n episode.agenda.map(item => {\n return \n })\n }\n {getEventVod() && liveMode ? (\n
    \n {window._.get(contents, \"vodDatetimeTitle\") ? (\n \n ) : null}\n
    \n \n {/* {localTime(props.eventVod, context.event.timezone).format(\"HH:mm\")} */}\n {getEventVod()}\n {\n getChannelsDuration() ? (\n {props.upTo || \"up to\"} {getChannelsDuration()} {contents.hours || \"hours\"}\n // {window._.get(props, \"episode.vod_channels_duration\").join(\"/\")} hours\n ) : null\n }\n \n
    \n ) : null}\n \n )\n}\n\nexport default EpisodeDetailsWithNestedAgenda","import React, { useEffect, useState, useContext, useRef } from \"react\"\nimport AdamModal from \"../AdamModal/AdamModal\"\nimport MainContext from \"../../context/MainContext\"\nimport Container from \"../../ui/Container/Container\"\nimport Row from \"../../ui/Row/Row\"\nimport Button from \"../../ui/Button/Button\"\n\nconst WaitingRoomModal = (props) => {\n const [modalOpen, setModalOpen] = useState(false)\n const [playing, setPlaying] = useState(false)\n const audio = useRef()\n const context = useContext(MainContext)\n\n useEffect(() => {\n setModalOpen(props.open)\n // if (props.open && !playing) {\n // setTimeout(() => {\n // togglePlaying()\n // }, 2000)\n // }\n }, [props.open])\n\n const togglePlaying = () => {\n if (playing) {\n audio.current.pause()\n setPlaying(false)\n }\n else {\n audio.current.play().then(() => {\n setPlaying(true)\n }).catch(error => {\n console.log('Unable to play the video, User has not interacted yet.');\n })\n }\n }\n\n const grid = (\n \n\n \n \n {\n props.episode && (\n <>\n \n {\n props.episode.waitingRoom?.jingle_media && (\n <>\n
    \n \n
    \n \n \n )\n }\n \n )\n }\n \n
    \n
    \n )\n\n const modal = (\n context.closeWaitingRoomModal()}\n />\n )\n\n return modal\n}\n\nexport default WaitingRoomModal","import classNames from \"classnames\";\nimport React, { useEffect, useState } from \"react\"\nimport Logo from \"../../components/Logo/Logo\";\nimport Button from \"../Button/Button\";\nimport \"./AdamOverlay.scss\"\n\nconst AdamOverlay = ({ children, onClose, hideCloseButton, title, onLogoutClicked, ...props }) => {\n const [overlayOpen, setOverlayOpen] = useState(false)\n\n useEffect(() => {\n setOverlayOpen(props.open)\n }, [props.open])\n\n const close = () => {\n setOverlayOpen(false)\n if (onClose) {\n onClose()\n }\n }\n\n const overlayClassName = classNames(\"adam-overlay\", {\n \"adam-overlay__withclosebutton\": !hideCloseButton\n })\n\n const modal = overlayOpen ? (\n
    \n
    \n
    \n
      \n {\n !hideCloseButton && (\n
    • \n \n
    • \n )\n }\n {\n onLogoutClicked ? (\n
    • \n \n
    • \n ) : null\n }\n\n
    \n
    \n {\n title ? (\n

    {title}

    \n ) : null\n }\n {children}\n
    \n ) : null\n\n return modal\n}\n\nexport default AdamOverlay","import React from \"react\"\nimport { translateChannelStatus } from \"../../utils/functions\"\n\nconst BlinkingIcon = () => {\n return (\n \n \n \n )\n}\n\nconst ChannelStatusIcon = ({ playerStatus }) => {\n const literalStatus = translateChannelStatus(playerStatus)\n\n return playerStatus ? (\n
    \n {literalStatus}\n
    \n ) : null\n}\n\nexport default ChannelStatusIcon","import classNames from \"classnames\";\nimport moment from \"moment-timezone\";\nimport React, { useEffect, useState, useContext } from \"react\"\nimport { getPlayerSources } from \"../../api/functions\";\nimport { LIVE, VOD } from \"../../config/channelStatus\";\nimport MainContext from \"../../context/MainContext\";\nimport ChannelStatusIcon from \"../../ui/ChannelStatusIcon/ChannelStatusIcon\";\nimport { utc } from \"../../utils/functions\";\nimport TheoPlayer from \"../TheoPlayer/TheoPlayer\";\nimport \"./SelectEpisodeCard.scss\"\n\nlet liveLocked = true\n\nconst SelectEpisodeCard = ({ data, onEpisodeSelected, borderColor, count = 0 }) => {\n const context = useContext(MainContext)\n const [playerSource, setPlayerSource] = useState()\n const [playerStatus, setPlayerStatus] = useState()\n const [playerChannel, setPlayerChannel] = useState()\n const getPlaylist = async (episodeId) => {\n const res = await getPlayerSources({\n episode_id: episodeId,\n lang_id: context.language\n })\n updateSource(res)\n }\n\n const updateSource = async (getPlaylistResponse) => {\n let source = {}\n if (getPlaylistResponse?.sources?.length > 1) {\n source = {\n sources: getPlaylistResponse.sources[0]\n }\n }\n else {\n source = {\n sources: getPlaylistResponse?.playlist[getPlaylistResponse.status]\n }\n }\n setPlayerSource(source);\n setPlayerChannel(getPlaylistResponse.channel);\n setPlayerStatus(getPlaylistResponse.status)\n }\n\n useEffect(() => {\n getPlaylist(data.id)\n }, [data])\n\n const onReadyStateChange = async (player) => {\n if ([LIVE].includes(playerStatus) && playerChannel?.is_fake_live) {\n const diff = moment().diff(utc(context.episode.live_started_at), \"seconds\")\n player.currentTime = diff;\n liveLocked = false\n }\n else {\n liveLocked = true\n }\n }\n\n const className = classNames(\"col-12 mb-3\", {\n \"col-lg-4\": count <= 2,\n \"col-lg-3\": count > 2\n })\n\n return (\n
    \n
    onEpisodeSelected(data.id)}\n >\n {\n [LIVE, VOD].includes(playerStatus) && \n }\n
    \n
    \n { onReadyStateChange(player) }}\n />\n
    \n
    \n
    \n {data.title}\n
    \n {\n data.has_future_live_events ? (\n
    \n \n
    \n {window._.get(data, \"live_scheduling.formatted_start_at\")}\n
    \n
    \n ) : data.has_future_vod_events ? (\n
    \n \n
    \n {window._.get(data, \"vod_scheduling.formatted_start_at\")}\n
    \n
    \n ) : null\n }\n
    \n
    \n
    \n
    \n )\n}\n\nexport default SelectEpisodeCard","import React, { useEffect, useState, useContext } from \"react\"\nimport { ThemeContext } from \"styled-components\";\nimport MainContext from \"../../context/MainContext\";\nimport Container from \"../../ui/Container/Container\";\nimport Row from \"../../ui/Row/Row\";\nimport AdamOverlay from \"../../ui/AdamOverlay/AdamOverlay\";\nimport SelectEpisodeCard from \"../SelectEpisodeCard/SelectEpisodeCard\";\n\nconst SelectEpisodeOverlay = ({ onEpisodeSelected, title, hideCloseButton, onLogoutClicked, ...props }) => {\n const [modalOpen, setModalOpen] = useState(false)\n const context = useContext(MainContext)\n const themeContext = useContext(ThemeContext);\n\n useEffect(() => {\n setModalOpen(props.open)\n }, [props.open])\n\n // useEffect(() => {\n // if (modalOpen) {\n // disableScroll(window)\n // }\n // }, [modalOpen])\n\n // const episodes = props.episodes?.filter(item => item.has_future_events)\n const episodes = props.episodes\n\n const onOverlayClose = () => {\n context.setSelectEpisodeModalOpen(false)\n // enableScroll(window)\n }\n\n const _onLogoutClicked = () => {\n onLogoutClicked()\n }\n\n const grid = (\n \n \n {\n episodes ? episodes.map(item => {\n return (\n \n\n )\n }) : \"No episodes available\"\n }\n \n \n )\n\n const modal = modalOpen ? (\n \n {grid}\n \n ) : null\n\n return modal\n}\n\nexport default SelectEpisodeOverlay","import { useState } from \"react\"\nimport DefaultPage from \"../DefaultPage/DefaultPage\"\nconst ErrorPageWithReload = ({ message, reloadAfter = 10 }) => {\n\n const [countDown, setCountDown] = useState(reloadAfter)\n\n useState(() => {\n window.setInterval(() => {\n console.log(countDown, 0)\n setCountDown(countDown => {\n if (countDown <= 1) {\n window.location.reload()\n }\n else {\n return --countDown\n }\n\n })\n }, 1000)\n }, [reloadAfter])\n\n message = (\n <>\n
    \n {message}\n
    \n {\n countDown ? (\n
    \n This page will be automatically reloaded in {countDown} seconds. If the problem persists, please contact support\n
    \n ) : null\n }\n\n \n )\n\n return (\n \n )\n}\n\nexport default ErrorPageWithReload","/* eslint-disable default-case */\nimport React, { useState, useEffect } from 'react';\nimport {\n Switch,\n Route,\n useHistory,\n useLocation\n} from \"react-router-dom\";\nimport MainContext from '../../context/MainContext';\nimport Agenda from '../Agenda/Agenda';\nimport Contacts from '../Contacts/Contacts';\nimport Footer from '../Footer/Footer';\nimport Header from '../Header/Header';\nimport Navbar from \"../Navbar/Navbar\"\nimport Speakers from '../Speakers/Speakers';\nimport { getContents, getLegals, detectEvent, me, login, logout, eventPreview, getAgenda, getSpeakers, forceLogout, getEligibleEpisodes, selectEpisodeWebHook } from \"../../api/functions\"\nimport { createGlobalStyle, ThemeProvider } from 'styled-components';\nimport Registration from '../Registration/Registration';\nimport PlayerBox from '../PlayerBox/PlayerBox';\nimport ScrollToTop from '../../utils/ScrollToTop/ScrollToTop';\nimport { LIVE, PRE_LIVE, PRE_VOD, UNKNOWN, VOD } from '../../config/channelStatus';\nimport { getThemeConfig, setAuthToken, getAuthToken, initializeGTM, consoleLog, initPusher, lightenDarkenColor } from '../../utils/functions';\nimport 'bootstrap/dist/css/bootstrap.css';\nimport \"./App.scss\"\nimport DemoPlayer from '../DemoPlayer/DemoPlayer';\nimport PageBody from '../../ui/PageBody/PageBody';\nimport EventTitle from '../EventTitle/EventTitle';\nimport classNames from 'classnames';\nimport LoginModal from '../LoginModal/LoginModal';\nimport PlayerSidebar from '../PlayerSidebar/PlayerSidebar';\nimport Maintenance from '../Maintenance/Maintenance';\nimport MainContainer from '../../ui/MainContainer/MainContainer';\nimport ThankYouRegistrationModal from '../ThankYouRegistrationModal/ThankYouRegistrationModal';\nimport AdamCookieConsent from '../AdamCookieConsent/AdamCookieConsent';\nimport FormErrorsModal from '../FormErrorsModal/FormErrorsModal';\nimport QandA from '../QandA/QandA';\nimport QandAManager from '../QandAManager/QandAManager';\nimport QandASpeaker from '../QandASpeaker/QandASpeaker';\nimport DefaultPage from '../DefaultPage/DefaultPage';\nimport EpisodeDetails from '../EpisodeDetails/EpisodeDetails';\nimport InitialModal from '../InitialModal/InitialModal';\nimport VirtualWorldModal from '../VirtualWorldModal/VirtualWorldModal';\nimport IframeContent from '../IframeContent/IframeContent';\nimport AlreadyLoggedInModal from '../AlreadyLoggedInModal/AlreadyLoggedInModal';\nimport { MSD_CTIO } from '../../config/registrationFlows';\nimport EpisodesListEmptyModal from '../EpisodesListEmptyModal/EpisodesListEmptyModal';\nimport EvaluationForm from '../EvaluationForm/EvaluationForm';\nimport { MSD_CTIO_A, MSD_CTIO_B, MSD_CTIO_C } from '../../config/registrationModes';\nimport EpisodeDetailsWithNestedAgenda from '../EpisodeDetails/EpisodeDetailsWithNestedAgenda';\nimport WaitingRoomModal from '../WaitingRoomModal/WaitingRoomModal';\nimport SelectEpisodeOverlay from '../SelectEpisodeOverlay/SelectEpisodeOverlay';\nimport ErrorPageWithReload from '../ErrorPageWithReload/ErrorPageWithReload';\nimport PusherManager from '../../utils/PusherManager';\n\nlet originalEvent = {}\n\nfunction Adam() {\n\n const history = useHistory()\n const location = useLocation();\n let query = new URLSearchParams(useLocation().search);\n const [event, setEvent] = useState()\n const version = process.env.REACT_APP_VERSION\n // const [version, setVersion] = useState(process.env.REACT_APP_VERSION)\n const [fnf, setFnf] = useState()\n const [country, setCountry] = useState()\n const [countryOfWork, setCountryOfWork] = useState()\n const [internal, setInternal] = useState(false)\n const [language, setLanguage] = useState(sessionStorage.getItem(\"language\"))\n const [registrationMode, setRegistrationMode] = useState()\n const [allowChangeContents, setAllowChangeContents] = useState(false)\n const [episode, setEpisode] = useState()\n const [episodeId, setEpisodeId] = useState(sessionStorage.getItem(\"episodeId\"))\n const [channelId, setChannelId] = useState()\n const [status, setStatus] = useState(UNKNOWN)\n const [isPreview, setIsPreview] = useState(false)\n const [isVirtualWorld, setIsVirtualWorld] = useState(false)\n const [forceEF, setForceEF] = useState(false)\n const [user, setUser] = useState(null)\n const [registered, setRegistered] = useState(false)\n const [legals, setLegals] = useState()\n const [maintenance, setMaintenance] = useState()\n const [loginErrors, setLoginErrors] = useState([])\n const [loginWaiting, setLoginWaiting] = useState(false)\n const [theme, setTheme] = useState()\n const [loadingContents, setLoadingContents] = useState(true)\n // const [scrollY, setScrollY] = useState(0)\n const [navHeight, setNavHeight] = useState(0)\n const [headerTitleHeight, setHeaderTitleHeight] = useState(0)\n const [loginModalOpen, setLoginModalOpen] = useState(false)\n const [initialModalOpen, setInitialModalOpen] = useState(false)\n const [initialModalInit, setInitialModalInit] = useState(false)\n const [selectEpisodeModalOpen, setSelectEpisodeModalOpen] = useState(false)\n const [tankyouRegistrationModalOpen, setTankyouRegistrationModalOpen] = useState(false)\n const [faqsModalOpen, setFaqsModalOpen] = useState(false)\n const [loggingOut, setLoggingOut] = useState(false)\n const [channelStatus, setChannelStatus] = useState()\n const [agenda, setAgenda] = useState([])\n const [speakers, setSpeakers] = useState([])\n const [faqs, setFaqs] = useState([])\n const [goToPlayer, setGoToPlayer] = useState(false)\n const [cookieConsent, setCookieConsent] = useState({})\n const [formErrors, setFormErrors] = useState([])\n const [formErrorsModalOpen, setFormErrorsModalOpen] = useState(false)\n // const [evaluationFormAnswered, setEvaluationFormAnswered] = useState(false)\n const [virtualWorldModalOpen, setVirtualWorldModalOpen] = useState(false)\n const [mode, setMode] = useState()\n // const [forceEpisodeId, setForceEpisodeId] = useState()\n const [slidoIframe, setSlidoIframe] = useState()\n const [hideQaAIframe, setHideQaAIframe] = useState()\n const [isLogout, setIsLogout] = useState(false)\n // const [forcedLanguage, setForcedLanguage] = useState(false)\n const [alreadyLoggedError, setAlreadyLoggedError] = useState()\n const [alreadyLoggedInModalOpen, setAlreadyLoggedInModalOpen] = useState(false)\n const [streamChangedModalOpen, setStreamChangedModalOpen] = useState(false)\n const [waitingRoomModalOpen, setWaitingRoomModalOpen] = useState(false)\n const [episodeCategories, setEpisodeCategories] = useState([])\n const [selectedEpisodes, setSelectedEpisodes] = useState([])\n const [selectedStreamId, setSelectedStreamId] = useState()\n const [selectedEpisodeCategories, setSelectedEpisodeCategories] = useState([])\n const [episodesListEmptyModalOpen, setEpisodesListEmptyModalOpen] = useState(false)\n const [allEpisodes, setAllEpisodes] = useState([])\n // const [retrivingUserData, setRetrivingUserData] = useState(false)\n const [openQaAManager, setOpenQaAManager] = useState(false)\n const [pusherConnection, setPusherConnection] = useState()\n const [errorWithReload, setErrorWithReload] = useState()\n\n const [contents, setContents] = useState()\n\n useEffect(() => {\n setIsLogout(query.get(\"logout\"))\n if (!event) {\n // console.log(\"location\", query.get(\"preview\"))\n setIsPreview(query.get(\"preview\"))\n setMode(query.get(\"mode\"))\n\n const detectIsVirtualWorld = query.get(\"mode\") === \"vw\"\n if (detectIsVirtualWorld) {\n setIsVirtualWorld(true)\n }\n\n forceEpisode(forcedEpisodeId())\n setForceEF(query.get(\"forceEF\"))\n setSlidoIframe(query.get(\"slido\"))\n setHideQaAIframe(query.get(\"hideqaa\"))\n\n let loadEventParams = {\n episodeId: forcedEpisodeId() || episodeId,\n force: detectIsVirtualWorld || forcedEpisodeId()\n }\n\n if (query.get(\"ln\")) {\n const ln = query.get(\"ln\")\n // setForcedLanguage(ln)\n setLanguage(ln)\n loadEventParams = {\n ...loadEventParams,\n ln: ln\n }\n }\n loadEvent(loadEventParams)\n }\n // let siteTitle = document.title\n // window.addEventListener('blur', () => {\n // document.title = 'Come back! :c';\n // console.log(\"blur\")\n // });\n // window.addEventListener('focus', () => {\n // document.title = siteTitle;\n // console.log(\"focus\")\n // });\n // return () => {\n // window.Pusher.unsubscribe(`presence-${event.id}.none`)\n // }\n }, [])\n\n\n useEffect(() => {\n if (event) {\n loadTranslatable(language)\n }\n }, [language])\n\n useEffect(() => {\n if ((country && language) || allowChangeContents) {\n loadByCountry()\n }\n }, [internal])\n\n useEffect(() => {\n if (allowChangeContents && !internal) {\n loadByCountry()\n }\n }, [country, countryOfWork])\n\n useEffect(() => {\n if (allowChangeContents && internal && isCtio2022()) {\n loadByCountry()\n }\n }, [countryOfWork])\n\n useEffect(() => {\n if (allowChangeContents && (registrationMode !== 102 || selectedEpisodeCategories?.length)) {\n loadByCountry()\n }\n }, [registrationMode, selectedEpisodes])\n\n useEffect(() => {\n if (allowChangeContents) {\n loadByCountry()\n }\n }, [selectedEpisodeCategories])\n\n // useEffect(() => {\n // console.log(\"allowChangeContents\", allowChangeContents)\n // if (allowChangeContents) {\n // // loadAgenda()\n // // loadSpeakers()\n // loadEvent(episodeId)\n // }\n // }, [episodeId])\n\n const hasVisrtualWorld = (user) => {\n return (event.has_virtual_world && !isVirtualWorld && userIsAttendant(user))\n }\n\n const isVirtualWorldOpen = () => {\n return event.is_virtualworld_active && event.virtual_world_url\n }\n\n const onPusherConnected = (e) => {\n consoleLog(\"pusher->connecting\", e)\n setPusherConnection(e)\n }\n\n const onPusherUnavailable = (e) => {\n consoleLog(\"pusher->unavailable\", e)\n setErrorWithReload(\"The connection is temporarily unavailable. This means that there is no internet connection or some intermediary is blocking the connection\")\n }\n\n const onPusherFailed = (e) => {\n consoleLog(\"pusher->failed\", e)\n setErrorWithReload(\"Fatal error with your connection. This implies that WebSockets are not natively available and an HTTP-based transport could not be found\")\n }\n\n useEffect(() => {\n setUserData(user)\n if (userIsAttendant(user)) {\n return function cleanup() {\n if (window.Pusher && event && !userIsAttendant(user)) {\n window.Pusher.unsubscribe(`presence-${event.id}.none`)\n }\n }\n }\n // else {\n // window.Pusher.connection.bind('initialized', (e) => console.log(\"pusher->initialized\", e))\n // window.Pusher.connection.bind('connecting', (e) => console.log(\"pusher->connecting\", e))\n // window.Pusher.connection.bind('connected', (e) => onPusherConnected(e))\n // window.Pusher.connection.bind('unavailable', (e) => onPusherUnavailable(e, pusherConnection))\n // window.Pusher.connection.bind('failed', (e) => console.log(\"pusher->failed\", e))\n // window.Pusher.connection.bind('disconnected', (e) => console.log(\"pusher->disconnected\", e))\n // }\n }, [user])\n\n useEffect(() => {\n openInitialModal()\n }, [event])\n\n useEffect(() => {\n if (episodeId && event) {\n sessionStorage.setItem(\"episodeId\", episodeId)\n const episodesList = userIsAttendant(user) ? event.episodes : user.episodes\n const epi = window._.find(episodesList, item => parseInt(item.id) === parseInt(episodeId))\n changeEpisode(epi)\n }\n if (user) {\n subscribeToEpisodeChannel(episodeId)\n }\n }, [episodeId])\n\n useEffect(() => {\n if (language) {\n sessionStorage.setItem(\"language\", language)\n }\n }, [language])\n\n const setUserData = async () => {\n if (user) {\n // consoleLog(\"forceEpisodeIdUSER\", forcedEpisodeId())\n changeLanguage(window._.get(user, \"lang_id\"))\n const _episodeId = forcedEpisodeId() || episodeId\n if (!window._.isEmpty(window._.get(user, \"channels\"))) {\n const episodeChannel = window._.get(user, \"channels\").find(item => parseInt(item.episode_id) === parseInt(_episodeId))\n if (episodeChannel) {\n setChannelId(episodeChannel.id)\n }\n }\n window.Pusher = initPusher()\n\n window.Pusher.connection.bind('initialized', (e) => consoleLog(\"pusher->initialized\", e))\n window.Pusher.connection.bind('connecting', (e) => consoleLog(\"pusher->connecting\", e))\n window.Pusher.connection.bind('connected', (e) => onPusherConnected(e))\n window.Pusher.connection.bind('unavailable', (e) => onPusherUnavailable(e))\n window.Pusher.connection.bind('failed', (e) => onPusherFailed(e))\n window.Pusher.connection.bind('disconnected', (e) => consoleLog(\"pusher->disconnected\", e))\n\n\n let userEpisodes = Object.values(window._.get(user, \"episodes\"))\n\n if (forcedEpisodeId()) {\n userEpisodes = userEpisodes.filter(item => item.id === parseInt(_episodeId))\n }\n else if (!userIsAttendant(user)) {\n userEpisodes = userEpisodes.filter(item => (item.has_future_live_events || item.is_live_open) && item.is_player_active)\n }\n else {\n userEpisodes = userEpisodes.filter(item => item.is_player_active)\n }\n\n consoleLog(\"userEpisodes\", userEpisodes)\n originalEvent = event\n\n setEvent(event => {\n return {\n ...event,\n episodes: userEpisodes\n }\n })\n // setEpisode(userEpisodes.find(item => item.id === parseInt(_episodeId)))\n setEpisode(userEpisodes[0])\n setEpisodeId(userEpisodes[0].id)\n\n if (event) {\n consoleLog(\"presence\", `presence-${event.id}.none`)\n const presenceChannel = window.Pusher.subscribe(`presence-${event.id}.none`)\n presenceChannel.bind_global(globalCallback);\n PusherManager.setPusherChannel(presenceChannel)\n }\n\n\n if (isLogout) {\n onLogoutClicked()\n }\n // else if (forcedEpisodeId()) {\n // setGoToPlayer(true)\n // }\n else if (userEpisodes && !goToPlayer) {\n if (hasVisrtualWorld(user)) {\n if (isVirtualWorldOpen()) {\n if (event.virtual_world_url && user) {\n if (\n (\n hasUnansweredQuestions() &&\n !isCtio2022()\n ) ||\n location.pathname === \"/evaluation\"\n ) {\n // alert(\"evaluationFormEnabled\")\n // window._.get(user, `answers.${_episode.id}.answered`) || answered.includes(_episode.id)\n }\n else {\n goToVt()\n }\n // goToVt()\n }\n }\n else {\n // window.Pusher.subscribe(`presence-${event.id}.none`)\n setVirtualWorldModalOpen(true)\n }\n }\n else {\n // const userEpisodesWithFutureEvents = userEpisodes.filter(item => item.has_future_events)\n const userEpisodesWithFutureEvents = userEpisodes.filter(item => item.is_player_active)\n setEpisodeId()\n // if (episodeId && userIsAttendant(user)) {\n // const wrRws = await subscribeToEpisodeChannel(episodeId)\n // }\n //props.episodes?.filter(item => item.has_future_events)\n setOpenQaAManager(true)\n if (userEpisodesWithFutureEvents?.length > 1) {\n setSelectEpisodeModalOpen(true)\n // console.log(\"me.episodes\", goToPlayer)\n }\n else if (userEpisodesWithFutureEvents[0]) {\n consoleLog(\"setEpisodeIdCCC\", userEpisodesWithFutureEvents[0].id)\n setEpisodeId(userEpisodesWithFutureEvents[0].id)\n // setOpenQaAManager(true)\n if (!waitingRoomIsOpen(userEpisodesWithFutureEvents[0])) {\n setGoToPlayer(true)\n }\n if (episodeId && userIsAttendant(user)) {\n const wrRws = await subscribeToEpisodeChannel(episodeId)\n }\n }\n else if (isCtio2022()) {\n setGoToPlayer(true)\n }\n }\n }\n }\n }\n\n const isMsdCtio2022 = () => {\n return [MSD_CTIO].includes(parseInt(window._.get(event, \"registration_flow\")))\n }\n\n const waitingRoomIsOpen = (testEpisode) => {\n testEpisode = testEpisode || episode\n return testEpisode?.waitingRoom?.is_open\n }\n\n const subscribeToEpisodeChannel = async ($episodeId) => {\n if (\n !$episodeId\n ) {\n return false\n }\n const episodeResponse = await selectEpisodeWebHook({ episodeId: $episodeId })\n setEpisode(episode => {\n return {\n ...episode,\n waitingRoom: episodeResponse?.waitingRoom\n }\n })\n if (episodeResponse?.waitingRoom?.is_open) {\n setWaitingRoomModalOpen(true)\n setGoToPlayer(false)\n }\n else {\n setWaitingRoomModalOpen(false)\n // if (!hasVisrtualWorld()) { // || isVirtualWorldOpen()\n setGoToPlayer(true)\n // }\n }\n }\n\n const openInitialModal = () => {\n if (\n // ((\n // window._.get(event, `theme.config.initial-popup`) && (\n // contents.initialPopupBox1Title ||\n // contents.initialPopupBox2Title ||\n // contents.initialPopupBox3Title ||\n // contents.initialPopupBox4Title\n // )\n // ) || theme?.showInitialPopup) &&\n theme?.showInitialPopup &&\n location.pathname !== \"/videotest\" &&\n location.pathname !== \"/evaluation\" &&\n !getIam() &&\n !initialModalInit\n ) {\n setInitialModalOpen(true)\n setInitialModalInit(true)\n }\n }\n\n const forceEpisode = (forceEpisodeId) => {\n consoleLog(\"forceEpisodeId\", forceEpisodeId)\n setEpisodeId(forceEpisodeId)\n // setForceEpisodeId(forceEpisodeId)\n }\n\n const forcedEpisodeId = () => {\n return query.get(\"eid\")\n }\n\n const loadFont = (fontFamily = \"Poppins\") => {\n\n const font = document.createElement('link');\n font.rel = 'stylesheet'\n font.id = 'dynamic-font'\n document.head.appendChild(font)\n // font.href = \"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,700;1,300;1,400;1,700&display=swap\"\n font.href = `${process.env.REACT_APP_FONT_BASE_URI}/css/${window._.kebabCase(fontFamily)}.css`\n }\n\n const globalCallback = (eventName, data) => {\n consoleLog(`bind global: The event ${eventName} was triggered with data ${JSON.stringify(data)}`);\n switch (eventName) {\n case \"App\\\\Events\\\\ForceLogout\":\n const remove = window._.get(data, \"remove\")\n consoleLog(\"ForceLogout\", remove)\n if (window._.indexOf(remove, user.id) >= 0) {\n onLogoutClicked(true)\n }\n break\n case \"App\\\\Events\\\\AcceptUser\":\n const accept = window._.get(data, \"accept\")\n if (window._.indexOf(accept, user.subscription.code) >= 0) {\n acceptUserFromWaitingRoom()\n }\n break\n }\n }\n\n const getIam = () => {\n return query.get(\"iam\")\n }\n\n const loadData = async (args) => {\n const { force, ln } = args\n\n const langId = ln || language\n if (getIam()) {\n let loginParams = {\n email: getIam(),\n auto: true\n }\n if (force) {\n loginParams = {\n ...loginParams,\n force: force\n }\n }\n if (langId) {\n loginParams = {\n ...loginParams,\n lang_id: langId\n }\n }\n if (query.get(\"mode\") === \"vw\") {\n loginParams = {\n ...loginParams,\n iframe: 1\n }\n }\n if (query.get(\"eid\")) {\n loginParams = {\n ...loginParams,\n episode_id: query.get(\"eid\")\n }\n }\n\n if (!loginParams.iframe) {\n setTimeout(() => {\n onLoginClicked(loginParams)\n }, 2000)\n }\n else {\n onLoginClicked(loginParams)\n }\n }\n else {\n // setRetrivingUserData(true)\n window.setTimeout(async () => {\n let userData = null\n let loginParams = {\n lang_id: langId\n }\n try {\n userData = await loadUserData(loginParams)\n }\n catch (e) {\n // history.push(\"/\");\n }\n finally {\n // setRetrivingUserData(false)\n }\n setUser(userData)\n }, 2000)\n // if (userData) {\n // setGoToPlayer(true)\n // }\n }\n }\n\n const loadTranslatable = async (newLang) => {\n // let newContens = null\n // let newLegals = null\n consoleLog(\"loadTranslatable\", language, newLang)\n\n // if (newLang) {\n // if (!newLang) {\n // newLang = language\n // }\n setLoadingContents(true)\n if (newLang) {\n\n\n let params = {\n lang_id: newLang,\n }\n if (isPreview) {\n params = {\n ...params,\n preview: isPreview\n }\n }\n\n const newContens = await loadContents(params)\n\n const newLegals = await loadLegals({\n ...params,\n country_id: country\n })\n\n setLegals(newLegals)\n loadAgenda()\n loadSpeakers()\n // }\n setWebsiteContents(newContens)\n\n if (newContens.episodes) {\n setEvent(event => {\n return {\n ...event,\n episodes: newContens.episodes\n }\n })\n\n const newEpisode = newContens.episodes.find(item => item.id === episodeId)\n\n if (newEpisode) {\n setEpisode(newEpisode)\n }\n }\n }\n setLoadingContents(false)\n // }\n }\n\n const setWebsiteContents = (value) => {\n document.title = window._.get(value, \"siteTitle\") || \"Maintenance\"\n setContents(value)\n }\n\n const loadByCountry = async () => {\n // let newContens = null\n // let newLegals = null\n // console.log(\"loadByCountry\", country)\n setLoadingContents(true)\n if (country || internal) {\n\n let params = {\n // is_internal: internal,\n lang_id: language,\n internal: internal,\n country_id: internal ? countryOfWork : country,\n }\n if (registrationMode) {\n params = {\n ...params,\n registration_mode: registrationMode\n }\n }\n // const newLegals = await loadLegals(params)\n // setLegals(newLegals)\n saveLegals(params)\n\n if (isMsdCtio2022()) {\n loadEligibleEpisodes(params)\n }\n else {\n loadAgenda()\n loadSpeakers()\n }\n }\n setLoadingContents(false)\n }\n\n const saveLegals = async (params) => {\n const newLegals = await loadLegals(params)\n setLegals(newLegals)\n return newLegals\n }\n\n const loadAgenda = async () => {\n\n consoleLog(\"loadAgenda\", event)\n if (event && event.episodes.length > 1) {\n\n event.episodes.forEach(async epi => {\n const epiId = epi.id\n // consoleLog(\"epiId\", epiId)\n const res = await getAgenda({ country, language, episodeId: epiId, internal })\n\n if (epiId === episodeId) {\n setEpisode(episode => {\n return {\n ...episode,\n agenda: res\n }\n })\n }\n setEvent(event => {\n let eventEpisodes = event.episodes\n // const selectedEpisode = eventEpisodes.find(item => item.id === episodeId)\n const episodeIndex = window._.findIndex(eventEpisodes, (item) => { return item.id === epiId });\n eventEpisodes[episodeIndex] = {\n ...eventEpisodes[episodeIndex],\n agenda: res\n }\n return {\n ...event,\n episodes: eventEpisodes\n }\n })\n })\n }\n else {\n // deprecated\n const res = await getAgenda({ country, language, episodeId, internal })\n setAgenda(res)\n }\n }\n\n const loadSpeakers = async () => {\n if (event && event.episodes.length > 1) {\n\n event.episodes.forEach(async epi => {\n const epiId = epi.id\n consoleLog(\"epiId\", epiId)\n const res = await getSpeakers({ country, language, episodeId: epiId, internal })\n if (epiId === episodeId) {\n setEpisode(episode => {\n return {\n ...episode,\n speakers: res\n }\n })\n }\n setEvent(event => {\n let eventEpisodes = event.episodes\n // const selectedEpisode = eventEpisodes.find(item => item.id === episodeId)\n const episodeIndex = window._.findIndex(eventEpisodes, (item) => { return item.id === epiId });\n consoleLog(\"epiId pre \" + episodeIndex, eventEpisodes[episodeIndex])\n eventEpisodes[episodeIndex] = {\n ...eventEpisodes[episodeIndex],\n speakers: res\n }\n consoleLog(\"epiId post \" + episodeIndex, eventEpisodes[episodeIndex])\n return {\n ...event,\n episodes: eventEpisodes\n }\n })\n })\n }\n else {\n const res = await getSpeakers({ country, language, episodeId, internal })\n setSpeakers(res)\n }\n }\n\n const loadEligibleEpisodes = async (params) => {\n const res = await getEligibleEpisodes({\n ...params,\n selectedEpisodeCategories,\n selectedEpisodes,\n all: true\n })\n // console.log(\"find\", res.find(item => item.id == episodeId))\n setEvent(event => {\n return {\n ...event,\n episodes: res\n }\n })\n const filteredEpisodes = res.filter(item => item.has_future_events)\n if (\n filteredEpisodes.length === 0 &&\n (\n [\n MSD_CTIO_A\n ].includes(registrationMode) ||\n (\n [\n MSD_CTIO_B\n ].includes(registrationMode) &&\n selectedEpisodeCategories?.length > 0\n )\n )\n ) {\n setEpisodesListEmptyModalOpen(true)\n }\n else if ([\n MSD_CTIO_C\n ].includes(registrationMode)) {\n const filteredEpisodesId = filteredEpisodes.map(item => item.id)\n const diff = selectedEpisodes.filter(item => !filteredEpisodesId.includes(item))\n if (diff.length > 0) {\n setEpisodesListEmptyModalOpen(true)\n }\n }\n setEpisode(res.find(item => item.id == episodeId))\n }\n\n const loadUserData = async (loginParams) => {\n const token = getAuthToken()\n if (token && token !== \"null\") {\n const res = await me(loginParams)\n // Redirect to player page when user data are loaded \n // and user has subscribed at least a channel\n // useEffect(() => {\n // console.log(\"loadUserData\", window._.get(context, \"user.channels\"))\n // if (window._.get(res, \"channels\")) {\n // history.push(\"/play\");\n // }\n // }, [context.user]) \n return res\n }\n else {\n return null\n }\n\n }\n\n const loadEvent = async (args) => {\n const { episodeId, force, ln } = args\n let res = null\n setLoadingContents(true)\n\n let langId = language || window.navigator.language\n if (ln) {\n langId = ln\n }\n try {\n if (query.get(\"preview\")) {\n // eventPreview\n let previewParams = {\n preview: query.get(\"preview\"),\n lang_id: langId\n }\n if (force) {\n previewParams = {\n ...previewParams,\n force: force\n }\n }\n if (episodeId) {\n previewParams = {\n ...previewParams,\n episode_id: episodeId\n }\n }\n res = await eventPreview(previewParams)\n }\n else {\n let params = {\n domain: window.location.hostname,\n lang_id: langId\n }\n if (force) {\n params = {\n ...params,\n force: force\n }\n }\n if (episodeId) {\n params = {\n ...params,\n episode_id: episodeId\n }\n }\n if (country) {\n params = {\n ...params,\n country_id: country\n }\n }\n res = await detectEvent(params)\n }\n }\n catch (e) {\n // console.error(\"clearStatus\", window._.get(e, \"response.status\"))\n if (window._.get(e, \"response.status\") === 404) {\n setFnf(true)\n return false\n }\n }\n finally {\n\n }\n if (window._.get(res, \"id\")) {\n if (!event) {\n window.axios.defaults.baseURL = `${window.axios.defaults.baseURL}${res.id}/`;\n }\n\n if (res.locale !== language) {\n setLanguage(res.locale)\n }\n // Use 'event_countries' if 'countries' variable is empty\n const countriesList = res.countries || res.event_countries\n // console.log(\"process.env.REACT_APP_SET_DEFAULT_COUNTRY\", window._.get(countriesList[0], \"id\") !== country && !country && process.env.REACT_APP_SET_DEFAULT_COUNTRY)\n if (\n window._.get(countriesList[0], \"id\") !== country &&\n !country &&\n parseInt(process.env.REACT_APP_SET_DEFAULT_COUNTRY)\n // &&\n // ![3, 4].includes(parseInt(window._.get(event, \"registration_form\")))\n ) {\n setCountry(countriesList[0].id)\n }\n\n // Detect whether or not the website is published. If not shows 404 error page\n if (!window._.get(res, \"published\")) {\n setFnf(true)\n return false\n }\n\n // Website contents\n if (window._.get(res, \"contents\")) {\n const newContents = cleanContents(window._.get(res, \"contents\"))\n setWebsiteContents(newContents)\n }\n\n // Cookie consent popup content\n if (window._.get(res, \"cookie_consent\")) {\n const ccCheckboxLabel = window._.get(res, \"cookie_consent.checkbox_label\")\n const ccContent = window._.get(res, \"cookie_consent.content\")\n const ccButtonLabel = window._.get(res, \"cookie_consent.cookieconsent_button_label\")\n setCookieConsent({\n ccCheckboxLabel,\n ccContent,\n ccButtonLabel\n })\n }\n const ctio2022 = window._.get(res, `theme.config.event`) === \"ctio-2022\"\n\n if (window._.get(res, \"agenda\")) {\n setAgenda(window._.get(res, \"agenda\"))\n }\n\n if (window._.get(res, \"speakers\")) {\n setSpeakers(window._.get(res, \"speakers\"))\n }\n\n if (window._.get(res, \"faqs\")) {\n setFaqs(window._.get(res, \"faqs\"))\n }\n\n setMaintenance(window._.get(res, \"maintenance\"))\n if (window._.get(res, \"maintenance\")) {\n setTheme(loadTheme(window._.get(res, \"styles\"), window._.get(res, \"media\")))\n setEvent(res)\n return false\n }\n else if (!user) (\n loadData({ force, ln })\n )\n if (window._.get(res, \"tagmanager\")) {\n initializeGTM(window._.get(res, \"tagmanager\"))\n }\n\n if (window._.get(res, \"legals\")) {\n setLegals(window._.get(res, \"legals\"))\n }\n if (!forcedEpisodeId()) {\n // userEpisodes.filter(item => item.is_player_active)\n let episode_categories = window._.get(res, \"episodecategories\") || []\n let eventEpisodes = window._.get(res, \"episodes\") || []\n eventEpisodes = ctio2022 ? eventEpisodes : eventEpisodes.filter(item => item.is_player_active)\n const openEpisodes = eventEpisodes.filter(item => {\n return (\n // item.is_player_active &&\n item.is_subscriptions_open\n )\n })\n setEpisodeCategories(episode_categories)\n if (eventEpisodes.length) {\n // eventEpisodes.forEach(item => {\n // item.episode_categories.forEach(ec => {\n // if (ec.id) {\n // episode_categories.push(ec)\n // }\n // })\n // })\n const firstAvailableEpisode = ctio2022 ? openEpisodes.shift() : eventEpisodes.shift()\n\n if (!forcedEpisodeId() && firstAvailableEpisode && firstAvailableEpisode.id !== episode) {\n changeEpisode(firstAvailableEpisode)\n }\n setAllEpisodes(window._.get(res, \"episodes\"))\n }\n else {\n const defaultEpisode = window._.get(res, \"default_episode\") || []\n if (!window._.isEmpty(defaultEpisode) && !episode) {\n if (window._.get(defaultEpisode, \"id\") !== episode) {\n changeEpisode(defaultEpisode)\n }\n }\n }\n }\n const newTheme = loadTheme(window._.get(res, \"styles\"), window._.get(res, \"media\"))\n\n setTheme(newTheme)\n setLoadingContents(false)\n setEvent(res)\n loadFont(newTheme.defaultFontFamily)\n }\n return res\n }\n\n const loadTheme = (resStyles, resMedia) => {\n let newTheme = {}\n Object.keys(resStyles).forEach(k => {\n newTheme = {\n ...newTheme,\n [window._.camelCase(k)]: resStyles[k]\n }\n })\n\n Object.keys(resMedia).forEach(k => {\n newTheme = {\n ...newTheme,\n [window._.camelCase(`media_${k}`)]: resMedia[k]\n }\n })\n\n if (window._.get(newTheme, \"mediaFavicon.url\")) {\n const favicon = document.getElementById(\"favicon\");\n favicon.href = window._.get(newTheme, \"mediaFavicon.url\")\n }\n return newTheme\n }\n\n const loadContents = async (params) => {\n\n // consoleLog(\"params\", params)\n // if (!event) {\n // return {}\n // }\n // let newContens = {\n // ...contents\n // }\n params = {\n lang_id: language,\n ...params\n }\n const resContents = await getContents(params)\n return cleanContents(resContents)\n // Object.keys(resContents).forEach(k => {\n // newContens = {\n // ...newContens,\n // [window._.camelCase(`${k}`)]: resContents[k]\n // }\n // })\n // return newContens\n }\n\n const cleanContents = (resContents) => {\n let newContens = {\n ...contents\n }\n Object.keys(resContents).forEach(k => {\n newContens = {\n ...newContens,\n [window._.camelCase(`${k}`)]: resContents[k]\n }\n })\n return newContens\n }\n\n const loadLegals = async (params) => {\n\n if (internal) {\n params = {\n ...params,\n internal: internal\n }\n }\n const resLegals = await getLegals({\n country: country,\n language: language,\n ...params\n })\n return resLegals\n }\n\n const setToken = async (token, userData) => {\n setAuthToken(token)\n if (token) {\n window.axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + token;\n // const userData = await loadUserData()\n // setUser(userData)\n if (window._.get(userData, \"channels\")) {\n // history.push(`/e/${episode}/play`);\n }\n }\n else {\n window.axios.defaults.headers.common[\"Authorization\"] = \"\";\n setUser(null)\n }\n }\n\n const onRegistred = () => {\n setRegistered(true)\n setTankyouRegistrationModalOpen(true)\n }\n\n const onLoginClicked = async (args) => {\n const { ln, lang_id } = args\n const langId = ln || language\n if (langId && !lang_id) {\n args = {\n ...args,\n lang_id: langId\n }\n }\n setLoginWaiting(true)\n setAlreadyLoggedError()\n setLoginErrors([])\n let res = null\n\n try {\n res = await login(args)\n setUser(res.me)\n setToken(res.token, res.me)\n // console.log(\"me.episodes\", window._.get(res, \"me.episodes\"))\n // if (window._.get(res, \"me.episodes\").length > 1) {\n // setSelectEpisodeModalOpen(true)\n // console.log(\"me.episodes\", goToPlayer)\n // }\n // else {\n // setGoToPlayer(true)\n // }\n setLoginModalOpen(false)\n }\n catch (e) {\n // console.log(\"setLoginErrors\", window._.get(e, \"response.data\"))\n const newErrors = window._.get(e, \"response.data.errors\") ? window._.get(e, \"response.data.errors\") : [window._.get(e, \"response.data.message\")]\n // consoleLog(\"errorAAAA\", window._.get(e, \"response.status\"))\n setLoginErrors(newErrors)\n // setAlreadyLoggedError(parseInt(e.response.status) === 409)\n setAlreadyLoggedError(window._.get(e, \"response.data.concurrent\"))//concurrent\n if (!loginModalOpen) {\n setAlreadyLoggedInModalOpen(true)\n }\n // Auto: iam query param is set\n // Force: force query param is set\n if (args.auto && !args.force) {\n setFormErrors({\n alreadyLogged: newErrors\n })\n // setFormErrorsModalOpen(true)\n setAlreadyLoggedInModalOpen(true)\n // loginModalOpen\n }\n }\n setLoginWaiting(false)\n return res\n }\n\n const onLogoutClicked = async (forced) => {\n setLoggingOut(true)\n try {\n if (!forced) {\n const res = await logout()\n }\n setIsLogout(false)\n }\n catch (e) {\n }\n finally {\n setToken(null)\n setUser(null)\n setGoToPlayer(false)\n if (window._.get(event, `theme.config.header.hidden`)) {\n setNavHeight(0)\n }\n let logoutUrl = \"/\"\n if (query.get(\"preview\")) {\n logoutUrl += `?preview=${query.get(\"preview\")}`\n }\n if (inIframe()) {\n setEvent()\n }\n else {\n history.push(logoutUrl);\n }\n // console.log(\"originalEvent\", originalEvent)\n setEvent(originalEvent)\n if (episodeId) {\n setEpisode(originalEvent.episodes.find(item => item.id === parseInt(episodeId)))\n }\n else {\n setEpisode(originalEvent.episodes[0])\n }\n // setEpisode(originalEvent.episodes.find(item => item.id === parseInt(episodeId)))\n\n setLoggingOut(false)\n }\n }\n\n const onForceLogoutClicked = async () => {\n setLoggingOut(true)\n try {\n const res = await forceLogout({\n concurrent: alreadyLoggedError\n })\n\n if (res.status) {\n setAlreadyLoggedError()\n setAlreadyLoggedInModalOpen()\n setLoginErrors([])\n if (getIam()) {\n const args = {\n email: getIam(),\n auto: true\n }\n onLoginClicked(args)\n }\n\n }\n }\n catch (e) {\n }\n finally {\n setLoggingOut(false)\n }\n }\n\n const changeLanguage = (value) => {\n if (value && value !== language) {\n setLanguage(value)\n if (country) {\n setAllowChangeContents(true)\n }\n }\n }\n\n const changeCountry = (value) => {\n if (value && value !== country) {\n setCountry(value)\n if (language) {\n setAllowChangeContents(true)\n }\n }\n }\n\n const changeCountryOfWork = (value) => {\n if (value && value !== countryOfWork) {\n setCountryOfWork(value)\n }\n }\n\n const changeRegistrationMode = (value) => {\n if (value && value !== registrationMode) {\n setRegistrationMode(value)\n if (language && country) {\n setAllowChangeContents(true)\n }\n }\n }\n\n const changeIntrernal = (value) => {\n setInternal(value)\n setAllowChangeContents(true)\n }\n\n const changeEpisode = (value) => {\n const id = window._.get(value, \"id\")\n if (value && (episodeId !== id || window._.get(episode, \"id\") !== id)) {\n setEpisode(value)\n setEpisodeId(window._.get(value, \"id\"))\n }\n }\n\n const onEpisodeChange = (e, direct) => {\n const value = direct ? e : e.target.value\n setAllowChangeContents(true)\n setEpisodeId(value)\n // console.log(\"onEpisodeChange\", window._.get(event, `theme.config.event`))\n if (\n value !== episodeId\n ) {\n if (!isCtio2022()) {\n // loadEvent({ episodeId: value })\n }\n }\n }\n\n const onEpisodeSelected = (e) => {\n onEpisodeChange(e, true)\n setSelectEpisodeModalOpen(false)\n if (!waitingRoomIsOpen()) {\n setGoToPlayer(true)\n }\n }\n\n const onLanguageChange = (value) => {\n changeLanguage(value)\n }\n\n const onCountryChange = (value) => {\n changeCountry(value)\n }\n\n const onCountryOfWorkChange = (value) => {\n changeCountryOfWork(value)\n }\n\n const onInternalChange = (value) => {\n value = (value === \"int\" || value === 1 || value === true || value === \"1\")\n value = value ? 1 : 0\n changeIntrernal(value)\n }\n\n const onRegistrationModeChange = (value) => {\n changeRegistrationMode(parseInt(value))\n }\n\n const onFaqButtonClicked = () => {\n setFaqsModalOpen(true)\n }\n\n const openFormErrorsModal = (newErrors) => {\n setFormErrors(newErrors)\n setFormErrorsModalOpen(true)\n }\n\n const closeFormErrorsModal = () => {\n setFormErrors([])\n setFormErrorsModalOpen(false)\n }\n\n const goToVt = () => {\n let vwUrl = event.virtual_world_url + `?iam=${user.email}`\n if (isPreview) {\n vwUrl += `&preview=${isPreview}`\n }\n window.location.assign(vwUrl)\n }\n\n const onEvaluationFormModalClose = () => {\n if (\n event.virtual_world_url &&\n event.is_virtualworld_active &&\n user\n ) {\n goToVt()\n }\n }\n\n const acceptUserFromWaitingRoom = () => {\n setGoToPlayer(true)\n setWaitingRoomModalOpen(false)\n }\n\n // const openEvaluartionFormModal = () => {\n // setEvaluartionFormModalOpen(true)\n // }\n\n // const closeEvaluartionFormModal = () => {\n // setEvaluartionFormModalOpen(false)\n // }\n\n const questions = window._.get(episode, `evaluation_questions`)\n const isEfEnabled = window._.get(episode, `is_evaluation_open`)\n\n // const userEpisodes = window._.get(user, `episodes`)\n const userQuestions = window._.get(user, `questions`)\n let userHasOpenEvaluationForms = false\n\n if (userQuestions) {\n userQuestions.forEach(item => {\n if (\n item.evaluation_questions &&\n item.is_evaluation_open\n ) {\n userHasOpenEvaluationForms = true\n }\n })\n }\n if (userQuestions) {\n userQuestions.forEach(itemId => {\n const epi = event.episodes?.find(item => item.id === itemId)\n if (\n epi &&\n epi.evaluation_questions &&\n epi.is_evaluation_open\n ) {\n userHasOpenEvaluationForms = true\n }\n })\n }\n // consoleLog(\"userEpisodes\", userEpisodes, userHasOpenEvaluationForms)\n\n const userIsAttendant = (_user) => {\n // console.log(\"userIsAttendant\", _user)\n return (\n !window._.get(_user, \"is_chairman\") &&\n !window._.get(_user, \"is_moderator\")\n )\n }\n\n const evaluationFormEnabled = () => {\n return (\n forceEF &&\n window._.get(user, \"is_staff\")\n ) ||\n (\n user &&\n // episodeId &&\n // questions &&\n // isEfEnabled &&\n userHasOpenEvaluationForms &&\n // !window._.isEmpty(questions) &&\n userIsAttendant(user)\n // !window._.get(user, \"is_chairman\") &&\n // !window._.get(user, \"is_moderator\")\n )\n }\n\n const hasUnansweredQuestions = () => {\n let _hasUnansweredQuestions = false\n consoleLog(\"userQuestions\", userQuestions)\n if (userQuestions) {\n userQuestions.filter(item => item.is_evaluation_open).forEach(item => {\n consoleLog(\"userQuestions \" + item.id, window._.get(user, `answers.${item.id}.answered`))\n if (\n window._.get(user, `answers.${item.id}.answered`) !== true\n ) {\n _hasUnansweredQuestions = true\n }\n })\n }\n consoleLog(\"userEpisodes AAA\", _hasUnansweredQuestions && evaluationFormEnabled())\n return _hasUnansweredQuestions && evaluationFormEnabled()\n }\n\n const inIframe = () => {\n try {\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n }\n\n const allowIframe = () => {\n return inIframe() || process.env.REACT_APP_ALLOW_IFRAME_IN_TOP_WINDOW\n }\n\n const isCtio2022 = () => {\n return window._.get(event, `theme.config.event`) === \"ctio-2022\"\n }\n\n const isAppView = window._.get(event, `theme.config.view`) === \"app\"\n const is2ColsView = window._.get(event, `theme.config.view`) === \"2cols\"\n const rfOnLeft = window._.get(event, `theme.config.registration-form.position`) === \"left\"\n const hideRegistrationFormTitle = window._.get(event, `theme.config.registration-form.hide-title`)\n const hiddenHeader = window._.get(event, `theme.config.header.hidden`)\n const hideDropDown = window._.get(event, `theme.config.episodes.hideDropDown`)\n const showAllEpisodes = window._.get(event, `theme.config.episodes.showAll`)\n const narrow = window._.get(event, `theme.config.width`) === \"narrow\"\n // title\n const titleFontSize = window._.get(event, `theme.config.title.size`)\n const titleLineHeight = window._.get(event, `theme.config.title.line-height`)\n const titleFontWeight = window._.get(event, `theme.config.title.weight`)\n // sub-title\n const subTitleFontSize = window._.get(event, `theme.config.subtitle.size`)\n const subTitleLineHeight = window._.get(event, `theme.config.subtitle.line-height`)\n const subTitleFontWeight = window._.get(event, `theme.config.subtitle.weight`)\n // sub-sub-title\n const subSubTitleFontSize = window._.get(event, `theme.config.subsubtitle.size`)\n const subSubTitleLineHeight = window._.get(event, `theme.config.subsubtitle.line-height`)\n const subSubTitleFontWeight = window._.get(event, `theme.config.subsubtitle.weight`)\n\n const registrationFormHasLoginForm = window._.get(event, `theme.config.registration-form.login-form`)\n const contactsAlign = window._.get(event, `theme.config.contacts.text-align`)\n const hideContactsTitle = window._.get(event, `theme.config.contacts.hide-title`)\n const nestedAgenda = window._.get(event, `theme.config.agenda.nested`)\n const removeBorderFromEpisodeTitle = window._.get(event, `theme.config.episodes.title.remove-border`)\n const episodeTitleFontSize = window._.get(event, `theme.config.episodes.title.font-size`)\n const episodeTitleLineHeight = window._.get(event, `theme.config.episodes.title.line-height`)\n\n const mainContext = {\n user: user,\n event: event,\n version: version,\n country: country,\n internal: internal,\n language: language,\n episode: episode,\n episodeId: episodeId,\n contents: contents,\n legals: legals,\n channelId: channelId,\n status: status,\n loadingContents: loadingContents,\n isAppView: isAppView,\n is2ColsView: is2ColsView,\n navHeight: navHeight,\n headerTitleHeight: headerTitleHeight,\n loginModalOpen: loginModalOpen,\n loginWaiting: loginWaiting,\n faqsModalOpen: faqsModalOpen,\n channelStatus: channelStatus,\n loggingOut: loggingOut,\n loginErrors: loginErrors,\n agenda: agenda,\n faqs: faqs,\n speakers: speakers,\n registered: registered,\n isPreview: isPreview,\n alreadyLoggedError: alreadyLoggedError,\n episodeCategories: episodeCategories,\n registrationMode: registrationMode,\n allEpisodes: allEpisodes,\n selectedStreamId: selectedStreamId,\n streamChangedModalOpen: streamChangedModalOpen,\n // formErrors, formErrors,\n // formErrorsModalOpen, formErrorsModalOpen,\n setLanguage: (value) => onLanguageChange(value),\n setCountry: (value) => onCountryChange(value),\n setCountryOfWork: (value) => onCountryOfWorkChange(value),\n setInternal: (value) => onInternalChange(value),\n setRegistrationMode: (value) => onRegistrationModeChange(value),\n setToken: (token, userData) => setToken(token, userData),\n setUser: (value) => setUser(value),\n onRegistred: (value) => onRegistred(value),\n setNavHeight: (value) => setNavHeight(value),\n setHeaderTitleHeight: (value) => setHeaderTitleHeight(value),\n setLoginModalOpen: (value) => setLoginModalOpen(value),\n setSelectEpisodeModalOpen: (value) => setSelectEpisodeModalOpen(value),\n setChannelStatus: (value) => setChannelStatus(value),\n setTankyouRegistrationModalOpen: (value) => setTankyouRegistrationModalOpen(value),\n openFormErrorsModal: (value) => openFormErrorsModal(value),\n closeFormErrorsModal: () => closeFormErrorsModal(),\n closeAlreadyLoggedInModal: () => setAlreadyLoggedInModalOpen(false),\n openStreamChangedModal: () => setStreamChangedModalOpen(true),\n closeStreamChangedModal: () => setStreamChangedModalOpen(false),\n closeWaitingRoomModal: () => setWaitingRoomModalOpen(false),\n setSelectedEpisodes: (value) => setSelectedEpisodes(value),\n setSelectedStreamId: (value) => setSelectedStreamId(value),\n setSelectedEpisodeCategories: (value) => setSelectedEpisodeCategories(value)\n }\n\n const buttonTheme = getThemeConfig(mainContext, \"buttons\")\n const headerTheme = getThemeConfig(mainContext, \"header\")\n const speakersTheme = getThemeConfig(mainContext, \"speakers\")\n const sectionsTheme = getThemeConfig(mainContext, \"sections\")\n\n const headerContentAlign = window._.get(headerTheme, \"content-align\")\n\n const isGridLayout = (!window._.isEmpty(speakersTheme)) ? speakersTheme.theme === \"grid\" : false\n\n const sectionTitleUnderline = window._.get(sectionsTheme, \"title.underline\")\n const thumbsRounded = (!window._.isEmpty(speakersTheme)) ? speakersTheme['thumbs-shape'] === \"round\" : false\n const textCentered = (!window._.isEmpty(speakersTheme)) ? speakersTheme[\"text-align\"] === \"center\" : false\n const thumbBordered = (!window._.isEmpty(speakersTheme)) ? speakersTheme[\"thumbs-border\"] : false\n const speakerPictureWidth = (!window._.isEmpty(speakersTheme)) ? speakersTheme[\"picture-width\"] : \"100%\"\n const speakerBoxShadow = (!window._.isEmpty(speakersTheme)) ? speakersTheme[\"box-shadow\"] : false\n const defaultBorderRadius = getThemeConfig(mainContext, \"default-border-radius\") || \"3px\"\n const fullPageHeader = getThemeConfig(mainContext, \"header.fullpage\") || false\n const mainCols = getThemeConfig(mainContext, \"main.cols\") || {}\n const defaultTransition = \"all 0.5s ease-in-out\"\n\n const footerAlign = window._.get(event, `theme.config.footer.text-align`)\n // let mainContent = useMemo(() => {\n // let mainContent_\n // if (user) {\n\n // if (window._.get(user, \"is_chairman\")) {\n // mainContent_ = (\n // \n // \n // \n // )\n // }\n // else if (window._.get(user, \"is_moderator\")) {\n // mainContent_ = (\n // \n // \n // \n // )\n // }\n // else {\n // mainContent_ = (goToPlayer) ? (\n // \n //
    \n // \n // {\n // [LIVE, PRE_LIVE, VOD].includes(channelStatus) ? (\n // \n // ) : null\n // }\n //
    \n // \n //
    \n // ) : (\n // <>\n // {\n // fullPageHeader ? (\n // onLoginClicked(args)}\n // emailBoxLogin={contents.emailBoxLogin}\n // />\n // ) : null\n // }\n // \n // )\n // }\n // }\n // return mainContent_\n // }, [\n // user,\n // language,\n // country,\n // episode,\n // episodeId,\n // internal,\n // contents,\n // goToPlayer,\n // ])\n\n // MAIN\n let defaultTextColor = null\n let primaryColor = null\n let primaryTextColor = null\n let tertiaryTextColor = null\n let defaultFontFamily = null;\n\n let buttonsShape = null;\n let buttonsFontWeight = null;\n\n // Registration form\n let registrationFormButtonBackgroundColor = null\n let registrationFormButtonBorderColor = null\n let registrationFormButtonTextColor = null\n let registrationFormFooterTextSize = null\n\n // Login form\n let loginFormButtonBackgroundColor = null\n let loginFormButtonBorderColor = null\n let loginFormButtonTextColor = null\n\n // Login header\n let loginHeaderButtonBackgroundColor = null\n let loginHeaderButtonBorderColor = null\n let loginHeaderButtonTextColor = null\n\n // FAQ\n let faqHeaderButtonBackgroundColor = null\n let faqHeaderButtonBorderColor = null\n let faqHeaderButtonTextColor = null\n\n // Email confirmation modal\n let emailConfirmationButtonBackgroundColor = null\n let emailConfirmationButtonBorderColor = null\n let emailConfirmationButtonTextColor = null\n\n // Cookie consent\n let cookieConsentButtonBackgroundColor = null\n let cookieConsentButtonBorderColor = null\n let cookieConsentButtonTextColor = null\n\n // Agenda\n let agendaBackgroundColor = null\n let agendaTimeColor = null\n let agendaTitleColor = null\n let agendaSpeakersColor = null\n let agendaAccordionBodyBgColor = null\n let agendaRowBorderColor = null\n let agendaRowSpeakerCardColor = null\n let agendaTitleFontSize = null\n let agendaTitleLineHeight = null\n\n // Speakers\n let speakersCardBackgroundColor = null\n\n // Player page\n let playerPageBodyBackgroundImageDesktop = null\n let playerPageBodyBackgroundImageMobile = null\n let playerPageAgendaBackgroundColor = null\n let playerPageAgendaTimeColor = null\n let playerPageAgendaTitleColor = null\n let playerPageAgendaSpeakersColor = null\n let playerPageAgendaNestedBorderLeftColor = null\n let playerPageSpeakersNameColor = null\n let playerPageSpeakersDescriptionColor = null\n let playerPageSpeakersCardBackgroundColor = null\n let playerPageSpeakersRoleColor = null\n let playerPageSectionTitleColor = null\n let playerPageSpeakersCardExplodeButtonColor = null\n\n let speakersNameColor = null\n let modalSectionTitleColor = null\n let speakersDescriptionColor = null\n let speakersRoleColor = null\n\n let playerPageInfoTabTextColor = null\n\n let sectionTitleColor = null\n let colRightBackgroundColor = null\n\n let speakerThumbBorderColor = null\n\n let episodeTitleTextColor = null\n let agendaTitleTextColor = null\n let agendaTitleBackgroundColor = null\n let agendaTitleBackgroundColorExplandable = null\n\n let nestedagendaVodDetailsTextColor = null\n let nestedagendaVodDetailsBorderColor = null\n\n let modalHeaderColor = null\n let loginModalLeftSideBackgorundColor = null\n\n let contactsTextColor = null\n let contactsFontSizeDesktop = null\n let contactsFontSizeMobile = null\n\n let footerTextColor = null\n let footerFontSizeDesktop = null\n let footerFontSizeMobile = null\n\n let tosTextColor = null\n let tosLinkColor = null\n let episodeDatesFontSize = null\n\n let playerBorderRadius = null;\n let playerShadowColor = null;\n\n let navbarRegistrationDesktopLogoHeight = null;\n let navbarRegistrationMobileLogoHeight = null;\n let navbarPlayerDesktopLogoHeight = null;\n let navbarPlayerMobileLogoHeight = null;\n let navbarModalDesktopLogoHeight = null;\n let navbarModalMobileLogoHeight = null;\n\n let groupAgendaAndSpeakers = false;\n let hideAgendaDatetime = false;\n let hideEpisodeDatetime = false;\n let episodeAccordionTitleOrder = false;\n let episodeAccordionTitleIcon = 0;\n\n if (theme) {\n primaryColor = theme.primaryColor\n primaryTextColor = theme.primaryTextColor || theme.tertiaryColor\n defaultTextColor = theme.defaultTextColor || theme.tertiaryColor\n tertiaryTextColor = theme.tertiaryTextColor || primaryColor\n defaultFontFamily = theme.defaultFontFamily || \"Poppins\"\n\n registrationFormButtonBackgroundColor = theme.registrationFormButtonBackgroundColor || primaryColor\n registrationFormButtonBorderColor = theme.registrationFormButtonBorderColor || theme.registrationFormButtonBackgroundColor || primaryColor\n registrationFormButtonTextColor = theme.registrationFormButtonTextColor || theme.primaryTextColor\n registrationFormFooterTextSize = theme.registrationFormFooterTextSize\n\n loginFormButtonBackgroundColor = theme.loginFormButtonBackgroundColor || primaryColor\n loginFormButtonBorderColor = theme.loginFormButtonBorderColor || loginFormButtonBackgroundColor\n loginFormButtonTextColor = theme.loginFormButtonTextColor || theme.primaryTextColor\n\n loginHeaderButtonBackgroundColor = theme.loginHeaderButtonBackgroundColor || primaryColor\n loginHeaderButtonBorderColor = theme.loginHeaderButtonBorderColor || loginHeaderButtonBackgroundColor\n loginHeaderButtonTextColor = theme.loginHeaderButtonTextColor || theme.primaryTextColor\n\n faqHeaderButtonBackgroundColor = theme.faqHeaderButtonBackgroundColor || theme.tertiaryColor\n faqHeaderButtonBorderColor = theme.faqHeaderButtonBorderColor || theme.tertiaryColor\n faqHeaderButtonTextColor = theme.faqHeaderButtonTextColor || theme.secondaryBackgroundColor\n\n emailConfirmationButtonBackgroundColor = theme.emailConfirmationButtonBackgroundColor || primaryColor\n emailConfirmationButtonBorderColor = theme.emailConfirmationButtonBorderColor || emailConfirmationButtonBackgroundColor\n emailConfirmationButtonTextColor = theme.emailConfirmationButtonTextColor || theme.primaryTextColor\n\n cookieConsentButtonBackgroundColor = theme.cookieConsentButtonBackgroundColor || theme.secondaryColor\n cookieConsentButtonBorderColor = theme.cookieConsentButtonBorderColor || cookieConsentButtonBackgroundColor\n cookieConsentButtonTextColor = theme.cookieConsentButtonTextColor || primaryColor\n\n agendaBackgroundColor = theme.agendaBackgroundColor || \"transparent\"\n agendaTimeColor = theme.agendaTimeColor || theme.primaryTextColor\n agendaTitleColor = theme.agendaTitleColor || primaryColor\n agendaSpeakersColor = theme.agendaSpeakersColor || theme.primaryTextColor\n agendaRowSpeakerCardColor = theme.agendaRowSpeakerCardColor\n\n agendaTitleFontSize = theme.agendaTitleFontSize ? parseFloat(theme.agendaTitleFontSize) : 1\n agendaTitleLineHeight = agendaTitleFontSize * 1.4;\n\n groupAgendaAndSpeakers = theme.groupAgendaAndSpeakers\n hideAgendaDatetime = theme.hideAgendaDatetime\n hideEpisodeDatetime = theme.hideEpisodeDatetime\n episodeAccordionTitleOrder = parseInt(theme.episodeAccordionTitleOrder)\n episodeAccordionTitleIcon = parseInt(theme.episodeAccordionTitleIcon)\n\n playerPageAgendaBackgroundColor = theme.playerPageAgendaBackgroundColor || (groupAgendaAndSpeakers ? null : agendaBackgroundColor)\n playerPageAgendaTimeColor = theme.playerPageAgendaTimeColor || agendaTimeColor\n playerPageAgendaTitleColor = theme.playerPageAgendaTitleColor || agendaTitleColor\n playerPageAgendaSpeakersColor = theme.playerPageAgendaSpeakersColor || agendaSpeakersColor\n playerPageAgendaNestedBorderLeftColor = theme.playerPageAgendaNestedBorderLeftColor || \"transparent\"\n\n speakersCardBackgroundColor = theme.speakersCardBackgroundColor || theme.defaultBackgroundColor\n\n playerPageSpeakersCardBackgroundColor = theme.playerPageSpeakersNameColor || theme.primaryTextColor\n playerPageSpeakersNameColor = theme.playerPageSpeakersNameColor || theme.primaryTextColor\n playerPageSpeakersDescriptionColor = theme.playerPageSpeakersDescriptionColor || theme.primaryTextColor\n playerPageSpeakersRoleColor = theme.playerPageSpeakersRoleColor || theme.primaryTextColor\n playerPageSpeakersCardExplodeButtonColor = theme.playerPageSpeakersCardExplodeButtonColor || primaryColor\n\n modalSectionTitleColor = theme.modalSectionTitleColor || theme.primaryTextColor\n speakersNameColor = theme.speakersNameColor || theme.primaryTextColor\n speakersDescriptionColor = theme.speakersDescriptionColor || theme.primaryTextColor\n speakersRoleColor = theme.speakersRoleColor || primaryColor\n\n sectionTitleColor = primaryTextColor || theme.tertiaryColor\n playerPageSectionTitleColor = theme.playerPageSectionTitleColor || sectionTitleColor\n colRightBackgroundColor = theme.colRightBackgroundColor || primaryColor\n\n playerPageInfoTabTextColor = theme.playerPageInfoTabTextColor || primaryTextColor\n\n speakerThumbBorderColor = theme.speakerPictureBorderColor || primaryColor\n\n episodeTitleTextColor = theme.episodeTitleTextColor || primaryTextColor\n agendaTitleTextColor = theme.agendaTitleTextColor || theme.tertiaryColor\n agendaTitleBackgroundColor = theme.agendaTitleBgColor || primaryColor\n agendaTitleBackgroundColorExplandable = theme.agendaTitleExpandableBgColor || agendaTitleBackgroundColor\n agendaAccordionBodyBgColor = theme.agendaAccordionBodyBgColor;\n agendaRowBorderColor = theme.agendaRowBorderColor;\n\n modalHeaderColor = theme.modalHeaderColor || primaryColor\n loginModalLeftSideBackgorundColor = theme.loginModalLeftSideBackgorundColor || primaryColor\n\n contactsTextColor = theme.contactsTextColor\n contactsFontSizeDesktop = theme.contactsFontSizeDesktop\n contactsFontSizeMobile = theme.contactsFontSizeMobile\n\n footerTextColor = theme.footerTextColor\n footerFontSizeDesktop = theme.footerFontSizeDesktop\n footerFontSizeMobile = theme.footerFontSizeMobile\n\n tosTextColor = theme.tosTextColor\n tosLinkColor = theme.tosLinkColor || primaryColor\n episodeDatesFontSize = theme.episodeDatesFontSize\n\n playerBorderRadius = theme.playerBorderRadius ? `${parseInt(theme.playerBorderRadius)}px` : null;\n playerShadowColor = theme.playerShadowColor;\n buttonsShape = theme.buttonsShape || buttonTheme?.shape\n buttonsFontWeight = theme.buttonsFontWeight || \"normal\"\n\n navbarRegistrationDesktopLogoHeight = theme.navbarRegistrationDesktopLogoHeight || \"2rem\";\n navbarRegistrationMobileLogoHeight = theme.navbarRegistrationMobileLogoHeight || navbarRegistrationDesktopLogoHeight;\n navbarPlayerDesktopLogoHeight = theme.navbarPlayerDesktopLogoHeight || navbarRegistrationDesktopLogoHeight;\n navbarPlayerMobileLogoHeight = theme.navbarPlayerMobileLogoHeight || navbarPlayerDesktopLogoHeight;\n navbarModalDesktopLogoHeight = theme.navbarModalDesktopLogoHeight || navbarRegistrationDesktopLogoHeight;\n navbarModalMobileLogoHeight = theme.navbarModalMobileLogoHeight || navbarModalDesktopLogoHeight;\n }\n const GlobalStyle = (theme) ? createGlobalStyle`\n\n :root {\n --primary: ${primaryColor};\n --navbar-registration-desktop-logo-height ${navbarRegistrationDesktopLogoHeight};\n --navbar-registration-mobile-logo-height ${navbarRegistrationMobileLogoHeight};\n --navbar-player-desktop-logo-height ${navbarPlayerDesktopLogoHeight};\n --navbar-player-mobile-logo-height ${navbarPlayerMobileLogoHeight};\n --navbar-modal-desktop-logo-height ${navbarModalDesktopLogoHeight};\n --navbar-modal-mobile-logo-height ${navbarModalMobileLogoHeight};\n } \n\n body, html {\n color: ${defaultTextColor};\n background-color: ${theme.defaultBackgroundColor || 'transparent'};\n font-family: ${defaultFontFamily}, Helvetica, Arial, Sans-Serif;\n // background: repeating-linear-gradient(\n // 90deg,\n // ${theme.registrationFormBackgroundColor},\n // ${theme.registrationFormBackgroundColor} 50%,\n // ${primaryColor} 50%,\n // ${primaryColor} 100%\n // );\n overflow-x: hidden;\n }\n .playerbox {\n &-wrapper {\n overflow: hidden;\n ${playerBorderRadius ? `border-radius: ${playerBorderRadius};` : null}\n ${playerShadowColor ? `box-shadow: 1px 1px 20px 3px ${playerShadowColor};` : null}\n }\n } \n .app-wrapper {\n background-position: center top;\n background-size: contain;\n background-repeat: no-repeat;\n ${window._.get(event, `media.body_background_image_mobile.url`) ? `background-image: url(${window._.get(event, `media.body_background_image_mobile.url`)});` : ``}\n @media (min-width: 992px) { \n ${window._.get(event, `media.body_background_image_desktop.url`) ? `background-image: url(${window._.get(event, `media.body_background_image_desktop.url`)});` : ``}\n }\n }\n div {\n // font-size: 0.875rem;\n // line-height: 1.6rem;\n }\n a,\n a:hover {\n text-decoration: none;\n color: ${theme.defaultLinkColor || primaryColor};\n }\n // :root {\n // --primary-color: ${primaryColor};\n // }\n ::-webkit-scrollbar {\n width: 10px;\n }\n ::-webkit-scrollbar-thumb {\n background: ${theme.tertiaryColor};\n }\n ::-webkit-scrollbar-thumb:hover {\n background: ${primaryColor};\n }\n ::-webkit-scrollbar-track {\n background: #eeeeee;\n } \n .container,\n .main {\n @media (min-width: 992px) { \n padding-left: 3rem;\n padding-right: 3rem;\n }\n } \n .container-fluid {\n ${is2ColsView ? `\n .col-right,\n .registration {\n @media (min-width: 768px) { \n padding-left: 2rem;\n padding-right: 2rem;\n } \n @media (min-width: 992px) { \n padding-left: 5rem;\n padding-right: 5rem;\n } \n &.with-background,\n &.ctio-2022 {\n min-height: 90vh;\n padding-bottom: 5rem;\n background-position: left top;\n background-repeat: no-repeat;\n background-size: 100%;\n ${window._.get(event, `media.right_col_background.url`) ? `background-image: url(${window._.get(event, `media.right_col_background.url`)})` : ``};\n }\n &.ctio-2022 {\n padding-top: 20%;\n }\n .embedded-login-title {\n color: ${primaryColor};\n ${isCtio2022() ? `font-weight: bold;` : null}\n }\n }` : ``}\n }\n .col-right {\n background-color: ${colRightBackgroundColor};\n ${is2ColsView ? `\n &::after {\n top: 0;\n position: absolute;\n width: 100vw;\n background-color: ${colRightBackgroundColor};\n content: \" \";\n display: block;\n height: 100%;\n left: 100%;\n }\n &.logged {\n min-height: auto;\n &::before {\n top: 0;\n position: absolute;\n width: 100vw;\n background-color: ${colRightBackgroundColor};\n content: \" \";\n display: block;\n height: 100%;\n right: 100%;\n }\n }\n ` : \"\"\n }\n &__logo {\n img {\n display: block;\n max-width: 200px;\n max-height: 80px\n } \n }\n }\n .loading {\n opacity: .6;\n } \n .bullet {\n padding-left: 1rem;\n &::before {\n content: \"•\";\n font-size: 2rem;\n display: inline-block; \n width: 1rem;\n margin-left: -1rem;\n vertical-align: text-bottom;\n } \n }\n label {\n &::first-letter {\n // font-weight: bold;\n // color: red;\n text-transform: capitalize;\n }\n color: ${theme.formLabelColor || primaryColor};\n font-size: 0.75rem;\n line-height: 1rem;\n }\n form,\n .form {\n font-size: 0.75rem;\n line-height: 1rem;\n &-buttons {\n padding: 0 1rem;\n }\n &-check-label {\n margin-top: 3px;\n }\n }\n .btn {\n border-radius: ${buttonsShape ? buttonsShape === \"round\" ? \"20px !important\" : defaultBorderRadius : defaultBorderRadius};\n font-weight: ${buttonsFontWeight};\n padding-right: 1rem;\n padding-left: 1rem;\n &-primary {\n background-color: ${primaryColor};\n color: ${theme.secondaryBackgroundColor};\n border-color: ${primaryColor};\n &:hover,\n &:active,\n &:focus,\n &:disabled {\n box-shadow: none !important;\n background-color: ${theme.secondaryBackgroundColor} !important;\n color: ${primaryColor} !important;\n border-color: ${theme.secondaryBackgroundColor} !important;\n }\n } \n &-inverted {\n background-color: ${theme.secondaryBackgroundColor};\n color: ${primaryColor};\n border-color: ${theme.secondaryBackgroundColor};\n &:hover,\n &:active,\n &:focus {\n box-shadow: none !important;\n background-color: ${primaryColor} !important;\n color: ${theme.secondaryBackgroundColor} !important;\n border-color: ${primaryColor} !important;\n }\n } \n &-info {\n background-color: ${faqHeaderButtonBackgroundColor};\n border-color: ${faqHeaderButtonBorderColor};\n color: ${faqHeaderButtonTextColor};\n &:disabled {faqheaderbuttonhoverbackgroundcolor\n background-color: ${theme.faqHeaderButtonDisabledBackgroundColor || faqHeaderButtonBackgroundColor};\n border-color: ${theme.faqHeaderButtonDisabledBorderColor || theme.faqHeaderButtonDisabledBackgroundColor || faqHeaderButtonBorderColor};\n color: ${theme.faqHeaderButtonDisabledTextColor || faqHeaderButtonTextColor};\n }\n &:hover,\n &:active,\n &:focus {\n background-color: ${theme.faqHeaderButtonHoverBackgroundColor || faqHeaderButtonBackgroundColor} !important;\n border-color: ${theme.faqHeaderButtonHoverBorderColor || theme.faqHeaderButtonHoverBackgroundColor || faqHeaderButtonBorderColor} !important;\n color: ${theme.faqHeaderButtonHoverTextColor || faqHeaderButtonTextColor} !important;\n } \n } \n &-login,\n &-register {\n display: inline-block;\n width: 25%;\n text-align: center;\n vertical-align: top;\n }\n ${loginFormButtonBackgroundColor && loginFormButtonTextColor ? `\n &-login-modal {\n background-color: ${loginFormButtonBackgroundColor};\n border-color: ${loginFormButtonBorderColor};\n color: ${loginFormButtonTextColor};\n &:disabled {\n background-color: ${theme.loginFormButtonDisabledBackgroundColor || loginFormButtonBackgroundColor};\n border-color: ${theme.loginFormButtonDisabledBorderColor || theme.loginFormButtonDisabledBackgroundColor || loginFormButtonBorderColor};\n color: ${theme.loginFormButtonDisabledTextColor || loginFormButtonTextColor};\n }\n &:hover,\n &:active,\n &:focus {\n background-color: ${theme.loginFormButtonHoverBackgroundColor || loginFormButtonBackgroundColor} !important;\n border-color: ${theme.loginFormButtonHoverBorderColor || theme.loginFormButtonHoverBackgroundColor || loginFormButtonBorderColor} !important;\n color: ${theme.loginFormButtonHoverTextColor || loginFormButtonTextColor} !important;\n } \n }` : null\n } \n ${loginHeaderButtonBackgroundColor && loginHeaderButtonTextColor ? `\n &-header-login {\n background-color: ${loginHeaderButtonBackgroundColor};\n border-color: ${loginHeaderButtonBorderColor};\n color: ${loginHeaderButtonTextColor};\n &:disabled {\n background-color: ${theme.loginHeaderButtonDisabledBackgroundColor || loginHeaderButtonBackgroundColor};\n border-color: ${theme.loginHeaderButtonDisabledBorderColor || theme.loginHeaderButtonDisabledBackgroundColor || loginHeaderButtonBorderColor};\n color: ${theme.loginHeaderButtonDisabledTextColor || loginHeaderButtonTextColor};\n }\n &:hover,\n &:active,\n &:focus {\n background-color: ${theme.loginHeaderButtonHoverBackgroundColor || loginHeaderButtonBackgroundColor} !important;\n border-color: ${theme.loginHeaderButtonHoverBorderColor || theme.loginHeaderButtonHoverBackgroundColor || loginHeaderButtonBorderColor} !important;\n color: ${theme.loginHeaderButtonHoverTextColor || loginHeaderButtonTextColor} !important;\n } \n }\n ` : null\n }\n ${emailConfirmationButtonBackgroundColor && emailConfirmationButtonTextColor ? `\n &-email-confirmation {\n background-color: ${emailConfirmationButtonBackgroundColor};\n border-color: ${emailConfirmationButtonBorderColor};\n color: ${emailConfirmationButtonTextColor};\n &:disabled {\n background-color: ${theme.emailConfirmationButtonDisabledBackgroundColor || emailConfirmationButtonBackgroundColor};\n border-color: ${theme.emailConfirmationButtonDisabledBorderColor || theme.emailConfirmationButtonDisabledBackgroundColor || emailConfirmationButtonBorderColor};\n color: ${theme.emailConfirmationButtonDisabledTextColor || emailConfirmationButtonTextColor};\n }\n &:hover,\n &:active,\n &:focus {\n background-color: ${theme.emailConfirmationButtonHoverBackgroundColor || emailConfirmationButtonBackgroundColor};\n border-color: ${theme.emailConfirmationButtonHoverBorderColor || theme.emailConfirmationButtonHoverBackgroundColor || emailConfirmationButtonBorderColor};\n color: ${theme.emailConfirmationButtonHoverTextColor || emailConfirmationButtonTextColor};\n } \n } \n ` : null\n }\n &-register {\n margin-top: 1rem;\n background-color: ${registrationFormButtonBackgroundColor};\n border-color: ${registrationFormButtonBorderColor};\n color: ${registrationFormButtonTextColor};\n &:disabled {\n background-color: ${theme.registrationFormButtonDisabledBackgroundColor || registrationFormButtonBackgroundColor} !important;\n border-color: ${theme.registrationFormButtonDisabledBorderColor || theme.registrationFormButtonDisabledBackgroundColor || registrationFormButtonBorderColor} !important;\n color: ${theme.registrationFormButtonDisabledTextColor || registrationFormButtonTextColor} !important;\n }\n &:hover,\n &:active,\n &:focus {\n background-color: ${theme.registrationFormButtonHoverBackgroundColor || registrationFormButtonBackgroundColor};\n border-color: ${theme.registrationFormButtonHoverBorderColor || theme.registrationFormButtonHoverBackgroundColor || registrationFormButtonBorderColor};\n color: ${theme.registrationFormButtonHoverTextColor || registrationFormButtonTextColor};\n }\n } \n \n .inline & {\n margin: 0 1rem;\n }\n \n &-form-submit,\n &-form-abort {\n margin: 1rem 0;\n width: 100%;\n font-size: 0.875rem;\n line-height: 1.125rem;\n font-weight: 700;\n } \n &-form-abort {\n margin: 1rem 0;\n width: 100%;\n background-color: ${theme.loginFormButtonBackgroundColor || primaryColor};\n border-color: ${theme.loginFormButtonBackgroundColor || primaryColor};\n color: ${theme.loginFormButtonTextColor || theme.primaryTextColor};\n font-size: 0.875rem;\n line-height: 1.125rem;\n font-weight: 700;\n\n &:disabled {\n background-color: ${theme.secondaryBackgroundColor};\n border-color: ${theme.secondaryBackgroundColor};\n }\n } \n } \n .adam-overlay {\n background-color: ${theme.modalsBackgroundColor || `#ffffff`};\n &__navbar {\n box-shadow: 1px 1px 5px ${theme.shadowColor};\n }\n } \n .tos-link {\n cursor: pointer;\n text-decoration: none;\n font-weight: 700;\n color: ${tosLinkColor};\n &:hover {\n text-decoration: underline;\n color: ${tosLinkColor};\n }\n } \n .tos-text {\n ${tosTextColor ? `color: ${tosTextColor};` : null}\n } \n .header{\n .container,\n .container-fluid {\n position: relative;\n display: flex;\n z-index: 100;\n align-items: center;\n }\n &-intro {\n color: ${theme.headerIntroColor || theme.secondaryColor};\n width: ${window._.get(headerTheme, \"content-width\") || \"50%\"};\n text-align: ${headerContentAlign || \"center\"};\n // left: ${headerContentAlign === \"left\" ? \"0\" : \"50%\"};\n padding-left: ${headerContentAlign === \"left\" ? \"2rem\" : \"0\"};\n // transform: translate(${headerContentAlign === \"left\" ? \"0\" : \"-50%\"}, -50%);\n }\n }\n .faqs {\n &-popup-btn {\n cursor: pointer;\n font-weight: bold;\n }\n }\n .event-header {\n &__title {\n color: ${theme.titleTextColor || primaryTextColor};\n font-size: ${titleFontSize || \"1.25rem\"};\n line-height: ${titleLineHeight || \"2rem\"}; \n font-weight: ${titleFontWeight || \"700\"}; \n @media (max-width: 991px) { \n font-size: 1.6rem;\n line-height: 2rem; \n }\n word-break: break-word;\n .initial-modal & {\n color: ${theme.initialModalTitleColor || theme.primaryTextColor};\n }\n // .modal-login__wrapper & {\n // color: ${\"red\"};\n // }\n .ctio-2022 & {\n margin-top: 3rem;\n }\n &--categories {\n color: ${theme.primaryTextColor || theme.tertiaryColor};\n }\n }\n &__subtitle {\n color: ${theme.subTitleTextColor || tertiaryTextColor};\n font-size: 1rem;\n line-height: 1.6rem; \n .initial-modal & {\n color: ${theme.initialModalSubtitleColor || theme.tertiaryTextColor};\n }\n }\n &__sub-subtitle {\n color: ${theme.subSubTitleTextColor || primaryTextColor};\n font-size: ${subSubTitleFontSize || \"0.875rem\"};\n line-height: ${subSubTitleLineHeight || \"1.4rem\"}; \n ${subSubTitleFontWeight ? `font-weight: ${subSubTitleFontWeight}` : null} \n .initial-modal & {\n color: ${theme.initialModalSubSubtitleColor || theme.primaryTextColor};\n }\n }\n &__dates,\n &__intro {\n color: ${theme.primaryTextColor || theme.tertiaryColor};\n font-size: 0.75rem;\n line-height: 1rem;\n p{\n display: inline;\n margin: 0;\n }\n .ctio-2022 & {\n font-size: 0.875rem;\n }\n ${episodeDatesFontSize ? `.episode-dates {\n font-size: ${episodeDatesFontSize}\n }` : null\n }\n }\n &.ctio-2022 {\n border-bottom: 1px solid ${theme.primaryTextColor || theme.tertiaryColor};\n padding-bottom: 2rem;\n option {\n text-align: center\n }\n }\n }\n .episode-header {\n color: ${theme.primaryTextColor || theme.tertiaryColor};\n .initial-modal & {\n color: ${theme.initialModalTitleColor || theme.tertiaryColor} !important;\n }\n &__title {\n ${removeBorderFromEpisodeTitle ? null : `border-top: 1px solid ${theme.primaryTextColor || theme.tertiaryColor};`}\n ${!episodeAccordionTitleOrder ? ` font-weight: 700; \n div {\n ${episodeTitleTextColor ? `color: ${episodeTitleTextColor};` : null}\n ${episodeTitleFontSize ? `font-size: ${episodeTitleFontSize};` : null}\n ${episodeTitleLineHeight ? `line-height: ${episodeTitleLineHeight};` : null}\n }` : null}\n\n .initial-modal & {\n color: ${theme.initialModalTitleColor} !important;\n border-top: 1px solid ${theme.initialModalTitleColor || theme.tertiaryColor};\n }\n }\n &__dates {\n // font-size: 0.75rem;\n // line-height: 1rem;\n &--details {\n padding-right: 2rem;\n }\n p{\n display: inline;\n margin: 0;\n }\n }\n &__open-accordion {\n color: ${theme.primaryTextColor || \"white\"};\n\n .agenda-explode-button {\n color: ${agendaTitleTextColor};\n }\n }\n }\n .form{ \n &-control {\n font-size: 0.875rem;\n line-height: 1.125rem; \n color: ${theme.formInputColor || theme.primaryTextColor};\n background-color: ${theme.formInputBackgroundColor};\n border-color: ${theme.formInputBorderColor || theme.formInputBackgroundColor};\n border-radius: ${buttonsShape ? buttonsShape === \"round\" ? \"20px !important\" : defaultBorderRadius : defaultBorderRadius};\n ${theme.formInputShadow ? `box-shadow: ${theme.formInputShadow} 0px 3px 10px !important;` : \"\"}\n background-clip: border-box;\n &::placeholder {\n color: ${theme.formPlaceholderColor};\n }\n :-ms-input-placeholder { /* Internet Explorer 10-11 */\n color: ${theme.formPlaceholderColor};\n }\n ::-ms-input-placeholder { /* Microsoft Edge */\n color: ${theme.formPlaceholderColor};\n } \n &:focus,\n &:active{\n border-color: ${primaryColor};\n box-shadow: none !important;\n }\n }\n &-singleselect {\n &__control {\n background-color: ${theme.formInputBackgroundColor};\n padding: 3px 5px;\n }\n &__placeholder {\n color: ${theme.formPlaceholderColor};\n }\n &__menu,\n &__single-value {\n color: ${theme.formInputColor || theme.primaryTextColor};\n }\n }\n }\n .website-section {\n padding: 1rem;\n &__title {\n position: relative;\n font-size: 0.875rem;\n line-height: 1.125rem;\n margin-bottom: 2rem;\n font-weight: 400;\n color: ${sectionTitleColor};\n ${sectionTitleUnderline ? \"display: inline-block; &:after {display:block;position:absolute;bottom:-1rem;content:' ';width:2rem;height:2px;background-color:\" + primaryColor + \";}\" : \"\"}\n\n .modal__content & {\n color: ${modalSectionTitleColor}\n }\n\n .player-page & {\n color: ${playerPageSectionTitleColor}\n }\n }\n &__maintitle {\n color: ${theme.defaultTextColor || theme.tertiaryColor};\n font-size: 1.25rem;\n line-height: 2rem; \n font-weight: 700; \n }\n &__intro {\n margin-top: 1rem;\n font-size: 0.875rem;\n line-height: 1.4rem; \n text-align: justify;\n }\n // &.registration {\n // @media (min-width: 992px) { \n // margin-top: -${headerTitleHeight + navHeight}px;\n // }\n // }\n }\n .speaker {\n &-wrapper {\n margin-bottom: 2rem;\n position: relative;\n }\n &-card {\n transition: ${defaultTransition}; \n height: 100%;\n padding: 1rem 1rem;\n // margin-bottom: 2rem;\n background-color: ${speakersCardBackgroundColor};\n box-shadow:${speakerBoxShadow ? `0 0.25rem 1rem -0.25rem ${theme.shadowColor}` : \"none\"} ;\n border-radius: ${defaultBorderRadius}; \n .player-page & {\n &__title {\n color: ${playerPageSpeakersNameColor};\n font-size: 0.875rem;\n line-height: 1.125rem;\n font-weight: 700\n }\n &__description,\n &__bio {\n color: ${playerPageSpeakersDescriptionColor};\n font-size: 0.75rem;\n text-align: justify;\n &--expandable {\n display: none;\n &.expanded {\n display: block;\n }\n }\n } \n &__role {\n color: ${playerPageSpeakersRoleColor};\n font-size: 0.875rem;\n } \n }\n &__open-accordion,\n &__open-popup {\n color: ${theme.speakerExplodeBtnTextColor || speakersNameColor};\n .player-page & {\n color: ${playerPageSpeakersCardExplodeButtonColor};\n }\n }\n &__open-popup {\n position: absolute;\n width: 1rem;\n height: 1rem;\n top: 1rem;\n right: 1rem;\n z-index: 201;\n cursor: pointer;\n font-size: 1.6rem;\n } \n &__title {\n color: ${speakersNameColor};\n font-size: 0.875rem;\n line-height: 1.125rem;\n font-weight: 700\n }\n &__body {\n padding-top: 1rem;\n }\n &__description,\n &__bio {\n color: ${speakersDescriptionColor};\n font-size: 0.75rem;\n margin-top: 0.75rem;\n text-align: justify;\n &--expandable {\n display: none;\n &.expanded {\n display: block;\n }\n }\n }\n &__description {\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n text-overflow: -o-ellipsis-lastline;\n overflow: hidden;\n }\n &__role {\n color: ${speakersRoleColor};\n font-size: 0.875rem;\n }\n &:hover {\n box-shadow:${speakerBoxShadow ? `0 0.25rem 1rem -0.25rem ${theme.shadowHoverColor}` : \"none\"} ;\n }\n &__picture {\n width: ${speakerPictureWidth};\n padding-top: ${speakerPictureWidth};\n border-radius: ${thumbsRounded ? \"100%\" : 0};\n border: ${thumbBordered ? `${thumbBordered} solid ${speakerThumbBorderColor}` : defaultBorderRadius};\n }\n } \n }\n .agenda {\n &:not(.sidebar) {\n ${agendaBackgroundColor ? `background-color: ${agendaBackgroundColor};` : null}\n ${groupAgendaAndSpeakers ? `padding: 0 !important;` : null}\n }\n &-row {\n\n width: 100%;\n overflow: hidden; \n &__time {\n font-size: 0.875rem;\n line-height: 1.2rem;\n color: ${agendaTimeColor};\n }\n &__title {\n font-size: ${agendaTitleFontSize}rem;\n line-height: ${agendaTitleLineHeight}rem;\n padding-top: 0.5rem;\n color: ${agendaTitleColor};\n }\n &__speakers {\n font-size: 0.75rem;\n line-height: 1rem;\n color: ${agendaSpeakersColor};\n\n }\n &__agenda-card {\n padding: 1rem;\n }\n &__speaker-card {\n ${agendaRowSpeakerCardColor ? `background-color: ${agendaRowSpeakerCardColor};` : null}\n padding: 1rem 0;\n .row {\n padding: 0 1rem;\n width: 100%;\n }\n }\n\n &:not(.sidebar) {\n ${!groupAgendaAndSpeakers ? `margin-bottom: 1rem !important;` : null}\n ${agendaRowBorderColor ? `border-bottom: 1px solid ${agendaRowBorderColor};` : null}\n .row {\n ${!groupAgendaAndSpeakers ? `padding: 0.5rem 0 !important;` : null}\n }\n }\n &.sidebar {\n margin-bottom: 1rem !important;\n .row {\n padding: 0.5rem 0 !important;\n }\n }\n\n }\n &-nested {\n &__container {\n &.expanded {\n border-left: 2px solid ${playerPageAgendaNestedBorderLeftColor};\n }\n }\n }\n .player-page & {\n background-color: ${playerPageAgendaBackgroundColor};\n &-row {\n margin-bottom: 1rem;\n &__time {\n font-size: 0.875rem;\n line-height: 1.2rem;\n color: ${playerPageAgendaTimeColor};\n }\n &__title {\n font-size: 1rem;\n line-height: 1.6rem;\n padding-top: 0.5rem;\n color: ${playerPageAgendaTitleColor};\n }\n &__speakers {\n font-size: 0.75rem;\n line-height: 1rem;\n color: ${playerPageAgendaSpeakersColor};\n }\n }\n }\n &-accordion {\n ${agendaAccordionBodyBgColor ? `background-color: ${agendaAccordionBodyBgColor};` : null}\n &-title {\n margin-bottom: 0.5rem;\n color: ${agendaTitleTextColor};\n background-color: ${agendaTitleBackgroundColor};\n\n &.expandable {\n background-color: ${agendaTitleBackgroundColorExplandable};\n }\n }\n }\n &-nested-vod-details {\n padding: 0.5rem 1rem;\n font-weight: 700;\n color: ${nestedagendaVodDetailsTextColor || agendaTitleBackgroundColor};\n border: 1px solid ${nestedagendaVodDetailsBorderColor || agendaTitleBackgroundColorExplandable};\n }\n }\n\n .registration {\n background-color: ${theme.registrationFormBackgroundColor || theme.defaultBackgroundColor};\n &-form__required {\n color: ${primaryColor};\n margin: 1rem 0;\n \n font-size: 0.75rem;\n line-height: 1rem;\n }\n &-form__gotologin {\n font-size: 0.875rem;\n line-height: 1rem; \n cursor: pointer;\n }\n &-form__footer {\n font-size: ${registrationFormFooterTextSize};\n }\n ${is2ColsView ? `\n &::before {\n top: 0;\n position: absolute;\n width: 100vw;\n background-color: ${theme.registrationFormBackgroundColor || theme.defaultBackgroundColor};\n content: \" \";\n display: block;\n height: 100%;\n right: 100%;\n }\n ` : \"\"\n }\n } \n .contacts {\n ${contactsAlign ? `text-align:${contactsAlign};` : ''}\n &-content {\n ${contactsTextColor ? `color: ${contactsTextColor};` : null\n }\n ${contactsFontSizeDesktop ? `font-size: ${contactsFontSizeDesktop};` : null\n }\n @media (max-width: 767px) { \n ${contactsFontSizeMobile ? `font-size: ${contactsFontSizeMobile};` : null\n }\n }\n }\n }\n .footer {\n ${footerAlign ? `text-align:${footerAlign};` : ''}\n &-content {\n ${footerTextColor ? `color: ${footerTextColor};` : null\n }\n ${footerFontSizeDesktop ? `font-size: ${footerFontSizeDesktop};` : null\n }\n @media (max-width: 767px) { \n ${footerFontSizeMobile ? `font-size: ${footerFontSizeMobile};` : null\n }\n }\n }\n }\n .faq {\n border-top: 1px solid #eee;\n position: relative;\n &:first-child {\n border-top: 0;\n }\n &__toggle {\n position: absolute;\n right: 1rem;\n text-align: center;\n font-weight: normal;\n font-size: 1.2rem;\n top: 0;\n width: 2rem;\n height: 2rem;\n line-height: 2rem;\n .open & {\n transform: rotate(45deg);\n }\n }\n &__question {\n color: ${primaryColor};\n font-size: 1rem;\n font-weight: bold;\n padding-right: 2rem;\n cursor: pointer;\n }\n &__answer {\n transition: ${defaultTransition};\n height: 1px;\n opacity: 0;\n overflow: hidden;\n .open & {\n height: auto;\n opacity: 1;\n }\n }\n }\n .light-text {\n color: ${theme.lightTextColor}\n }\n .modal {\n &__header {\n position: relative;\n background-color: ${modalHeaderColor};\n &.fluid {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 201;\n }\n &.transparent {\n background-color: transparent !important;\n }\n }\n &__content {\n position: relative;\n padding: 0;\n background-color: ${theme.modalsBackgroundColor || `#ffffff`};\n word-break: break-word;\n p {\n margin: 0;\n }\n }\n &__footer {\n background-color: ${theme.modalsBackgroundColor || `#ffffff`};\n margin-top: 0;\n &--content {\n border-top: 1px solid ${lightenDarkenColor(defaultTextColor, 98)};\n margin: auto 1rem;\n font-size: 0.75rem;\n }\n }\n &__event-title {\n color: ${primaryColor};\n font-size: 1rem;\n line-height: 1.6rem;\n }\n }\n .modal-login {\n &__wrapper {\n @media (min-width: 1200px) { \n display: flex;\n align-items: stretch;\n align-content: center;\n }\n }\n &__event-content {\n width: 100%;\n }\n &__event-data {\n flex-basis: 60%;\n background-color: ${loginModalLeftSideBackgorundColor};\n padding: 2.5rem 1rem;\n display: flex;\n align-items: center;\n .event-header {\n &__title,\n &__subtitle {\n width: 70%;\n margin-top: 1rem;\n color:${theme.loginPopupTitleColor || theme.secondaryColor};\n }\n }\n }\n &__form {\n @media (min-width: 1200px) { \n flex-basis: 40%;\n }\n padding: 2rem 1rem;\n background-color: ${theme.loginFormBackgroundColor || theme.secondaryColor};\n &--wrapper {\n padding: 2rem 0;\n }\n }\n }\n .qaa {\n &-subscriber {\n ${theme.qaBackgroundColor ? `padding:1rem; background-color: ${theme.qaBackgroundColor}` : \"\"}\n }\n &-card {\n &__sidebar{\n cursor: pointer;\n }\n &__sidebar,\n &__sent {\n border-bottom: 1px solid ${theme.defaultBorderColor ? theme.defaultBorderColor : \"transparent\"};\n background-color: ${theme.defaultBackgroundColor};\n transition: ${defaultTransition}; \n &:hover {\n background-color: ${theme.secondaryBackgroundColor};\n }\n &--preview {\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n text-overflow: -o-ellipsis-lastline;\n overflow: hidden;\n }\n &--time {\n font-size: 0.625rem;\n }\n &--name {\n font-size: 0.75rem;\n }\n }\n &__editable {\n box-shadow:${speakerBoxShadow ? `0 0.25rem 1rem -0.25rem ${theme.shadowHoverColor}` : \"none\"} ;\n transition: ${defaultTransition}; \n &:hover {\n box-shadow: 0 0.25rem 3rem -0.25rem ${theme.shadowColor};\n }\n &--time {\n font-size: 0.625rem;\n }\n &--user {\n color:${primaryColor};\n }\n &--original {\n font-size: 0.75rem;\n }\n &--big {\n font-size: 1.25rem;\n line-height: 1.8rem;\n }\n }\n }\n }\n .question {\n &__legend {\n font-size: 0.75rem;\n opacity: 0.8;\n }\n }\n .agenda-accordion {\n box-shadow: 0 0 2rem -1.25rem ${theme.shadowColor};\n } \n .generic-info-tab {\n color: ${playerPageInfoTabTextColor}\n } \n .initial-modal {\n &__banner {\n background-color: ${theme.initialModalBannerBackgroundColor || primaryColor};\n color: ${theme.initialModalBannerTextColor || theme.secondaryColor};\n border-radius: ${theme.defaultBorderRadius || \"6px\"};\n ${theme.initialModalBannerShadowColor ? `box-shadow: 0 0.25rem 1rem -0.25rem ${theme.initialModalBannerShadowColor};` : ``\n }\n // color: \n }\n } \n .ReactModal {\n &__Content {\n box-shadow: 0 0.25rem 3rem -0.25rem ${theme.shadowColor};\n @media (max-width: 1400px) { \n width: 50% !important;\n }\n\n @media (max-width: 991px) { \n width: 70% !important;\n }\n\n @media (max-width: 767px) { \n width: 85% !important;\n }\n }\n }\n .theo-primary-color,\n .vjs-selected {\n color: ${theme.playerPrimaryColor || primaryColor} !important;\n }\n\n .theo-primary-background {\n color: ${theme.playerPrimaryBackground || theme.backgroundColor} !important;\n background-color:${theme.playerPrimaryColor || primaryColor} !important;\n\n .theo-secondary-color {\n color: ${theme.playerSecondaryColor || theme.secondaryColor} !important;\n }\n\n .theo-secondary-background {\n color:${theme.playerSecondaryBackground || theme.secondaryBackgroundColor} !important;\n background-color: ${theme.playerSecondaryColor || theme.secondaryColor} !important;\n }\n\n .theo-tertiary-color {\n color: ${theme.playerTertiaryColor || theme.tertiaryColor} !important;\n }\n\n .theo-tertiary-background {\n color: ${theme.playerTertiaryBackground || theme.tertiaryColor} !important;\n background-color: ${theme.playerTertiaryColor || theme.tertiaryColor} !important;\n }\n /* Increase button size when hovering */\n .theoplayer-skin .vjs-big-play-button:hover {\n background: none;\n -webkit-transition-duration: 0.2s;\n -moz-transition-duration: 0.2s;\n transition-duration: 0.2s;\n transform: translate(-50%, -50%) scale(1.2);\n transition: transform 0.2s;\n }\n /* Set other image */\n .theoplayer-skin .vjs-big-play-button:before {\n content: \"\";\n background: url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjcycHgiIGhlaWdodD0iNzJweCIgdmlld0JveD0iMCAwIDcyIDcyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+dmlkZW8gaWNvbiBjb3B5IDQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iSG9tZXBhZ2UiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJIb21lcGFnZS1fZGVza3RvcCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ3MC4wMDAwMDAsIC0zMDEyLjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iZnd0diIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIwLjAwMDAwMCwgMjc4OC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJiaWctdmlkZW8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA1MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0idmlkZW8tMnB4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTEuMDAwMDAwLCAxNzUuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJ2aWRlby1jb3B5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNS4wMDAwMDAsIDM1LjAwMDAwMCkgcm90YXRlKC0zNjAuMDAwMDAwKSB0cmFuc2xhdGUoLTM1LjAwMDAwMCwgLTM1LjAwMDAwMCkgIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtMiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIGZpbGwtb3BhY2l0eT0iMC4xNSIgZmlsbD0iIzAwMDAwMCIgY3g9IjM1IiBjeT0iMzUiIHI9IjM1Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGlkPSJUcmlhbmdsZSIgZmlsbD0iI0ZGRkZGRiIgcG9pbnRzPSIyNi45ODI4NTY5IDQ5Ljk1Mzc1MiAyNi45ODI4NTY5IDE5LjM0MjEwNTMgNDguNTQzNDU4OSAzMy45OTY5NDI5Ij48L3BvbHlnb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==\")\n no-repeat 0 0;\n /* background: url('http://i.stack.imgur.com/LT3WE.png') no-repeat 0 0; */ /* Use image instead */\n background-size: 100%;\n display: block;\n }\n /* Remove default THEOplayer image */\n .theo-big-play-button-svg-container svg {\n display: none;\n }\n /* Remove default spotlight around button on focus */\n .theoplayer-skin:hover .vjs-big-play-button:after,\n .theoplayer-skin .vjs-big-play-button:focus:after {\n opacity: 0;\n }\n ` : null\n\n\n // const speakers = (\n // \n // )\n\n // const agenda = (\n // \n // )\n // switch (selectedSidebarTab) {\n // case \"agenda\":\n // selectedTab = agenda\n // break\n // case \"speakers\":\n // selectedTab = speakers\n // break\n // }\n\n // let mainContent = useMemo(() => {\n let mainContent\n if (user) {\n\n if (window._.get(user, \"is_chairman\") && openQaAManager) {\n mainContent = (\n \n \n \n )\n }\n else if (window._.get(user, \"is_moderator\") && openQaAManager) {\n mainContent = (\n \n \n \n )\n }\n else {\n mainContent = (goToPlayer && !selectEpisodeModalOpen) ? (\n \n
    \n \n {\n [LIVE, PRE_LIVE, VOD, PRE_VOD].includes(channelStatus) && !episode?.is_qaa_form_hidden ? (\n \n ) : null\n }\n
    \n \n
    \n ) : (\n <>\n {\n fullPageHeader ? (\n onLoginClicked(args)}\n emailBoxLogin={contents.emailBoxLogin}\n />\n ) : null\n }\n \n )\n }\n }\n // return mainContent_\n // }, [\n // user,\n // language,\n // country,\n // episode,\n // episodeId,\n // internal,\n // contents,\n // ])\n\n const output = errorWithReload ? (\n \n ) : fnf === true ? (\n \n ) : (\n event &&\n // theme &&\n // contents &&\n !maintenance\n ) ? (\n
    \n \n \n \n \n {\n ((hiddenHeader && !user) || isVirtualWorld) ? null : (\n onLogoutClicked()}\n onEvaluationFormModalClose={onEvaluationFormModalClose}\n isCtio2022={isCtio2022()}\n />\n )\n }\n \n \n \n {mainContent}\n {\n (user && goToPlayer) || !userIsAttendant(user) ? null : (\n \n {\n user || !rfOnLeft ? null : (\n onLoginClicked(args)}\n />\n )\n }\n {\n isCtio2022() ? (\n \n {\n location.pathname !== \"/videotest\" ? (\n <>\n onEpisodeChange(e, direct)}\n hideDropDown={hideDropDown}\n event=\"ctio-2022\"\n />\n\n \n ) : null\n }\n \n ) : (\n \n {\n location.pathname !== \"/videotest\" && episode ? (\n <>\n onEpisodeChange(e, direct)}\n hideDropDown={hideDropDown}\n />\n {\n showAllEpisodes ? event.episodes.map((item, index) => {\n const EpisodeDetailsComponent = nestedAgenda ? EpisodeDetailsWithNestedAgenda : EpisodeDetails\n return (\n \n )\n }) : (\n <>\n \n \n \n )\n }\n\n \n ) : null\n }\n \n )\n }\n {\n user || rfOnLeft ? null : (\n \n )\n }\n \n )\n }\n\n \n {/* \n \n
    \n \n {\n [LIVE, PRE_LIVE, VOD].includes(channelStatus) ? (\n \n ) : null\n }\n
    \n \n
    \n
    */}\n \n {goToPlayer ? allowIframe() ? (\n \n ) : (\n
    \n Protected contents\n
    \n ) : null}\n
    \n \n {user ? evaluationFormEnabled() ? (\n \n ) : (\n
    \n Disabled\n
    \n ) : (\n
    \n PLease login\n
    \n )}\n
    \n \n {\n event !== undefined && (\n \n )\n }\n \n
    \n\n {mode ? null : (\n <>\n \n\n \n \n )}\n {\n episode !== undefined &&\n window._.get(user, \"episodes\")?.length > 1 &&\n user ? (\n // episode !== undefined && user ? (\n onEpisodeSelected(args)}\n onLogoutClicked={() => onLogoutClicked()}\n />\n // onEpisodeSelected(args)} />\n ) : null\n }\n setInitialModalOpen(false)} />\n\n \n\n \n {/* \n \n {\n evaluationFormEnabled() ? (\n \n ) : null\n } */}\n {\n episode ? (\n onLoginClicked(args)}\n onForceLogoutClicked={() => onForceLogoutClicked()}\n hideChairmanLoginButton={theme.loginFormHideChairmanLoginButton}\n />\n ) : null\n }\n\n onForceLogoutClicked()}\n />\n {\n episode && (\n \n )\n }\n {\n isVirtualWorld ? null : (\n setVirtualWorldModalOpen(val)} />\n )\n }\n {\n !isVirtualWorld && cookieConsent && window._.get(cookieConsent, \"ccCheckboxLabel\") ? (\n \n ) : null\n }\n setEpisodesListEmptyModalOpen(false)}\n onCancel={() => setEpisodesListEmptyModalOpen(false)}\n onClose={() => setEpisodesListEmptyModalOpen(false)}\n />\n \n
    \n
    \n
    \n ) : maintenance ? (\n <>\n {/* */}\n \n \n ) : null\n\n return output\n}\n\nexport default Adam;\n","import './bootstrap'\nimport {\n BrowserRouter as Router\n} from \"react-router-dom\";\nimport Adam from \"./components/App/Adam\"\n\n// Sentry.init({\n// dsn: \"https://653294ccb89f4276a2a09ec37a106c6f@o546848.ingest.sentry.io/5700364\",\n// integrations: [new Integrations.BrowserTracing()],\n\n// // Set tracesSampleRate to 1.0 to capture 100%\n// // of transactions for performance monitoring.\n// // We recommend adjusting this value in production\n// tracesSampleRate: 1.0,\n// });\n\n// window.Pusher = new Pusher(process.env.REACT_APP_PUSHER_APP_KEY, {\n// // key: process.env.REACT_APP_PUSHER_APP_KEY,\n// cluster: process.env.REACT_APP_PUSHER_APP_CLUSTER,\n// forceTLS: true,\n// authEndpoint: process.env.REACT_APP_API_BASEURL + 'broadcasting/auth',\n// pongTimeout: 6000,\n// activityTimeout: 30000,\n// auth: {\n// headers: {\n// 'Authorization': \"Bearer \" + getAuthToken()\n// }\n// }\n// });\n\n\nconst MainApp = () => {\n return (\n \n \n \n )\n}\nexport default MainApp","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","import moment from \"moment-timezone\"\nimport TagManager from \"react-gtm-module\";\nimport Pusher from 'pusher-js';\nimport * as channelStatus from \"../config/channelStatus\"\n\nexport const getAuthToken = () => {\n return sessionStorage.getItem(process.env.REACT_APP_AUTH_TOKEN_KEY);\n // return localStorage.getItem(process.env.REACT_APP_AUTH_TOKEN_KEY);\n}\n\nexport const setAuthToken = (token) => {\n return sessionStorage.setItem(process.env.REACT_APP_AUTH_TOKEN_KEY, token);\n // return localStorage.setItem(process.env.REACT_APP_AUTH_TOKEN_KEY, token);\n}\n\nexport const utc = (dateTime) => {\n return moment.tz(dateTime, process.env.REACT_APP_UTC)\n}\n\nexport const localTime = (time, timezone) => {\n let _time = utc(time)\n if (timezone) {\n _time = _time.tz(timezone)\n }\n return _time\n}\n\nexport const tzAbbr = (time, timezone) => {\n return moment.tz.zone(timezone).abbr(utc(time).format(\"x\")); // PDT\n}\n\nexport const getContents = (context, key) => {\n return window._.get(context, `contents.${key}`)\n}\n\nexport const getThemeConfig = (context, key) => {\n return window._.get(context, `event.theme.config.${key}`)\n}\n\nexport const formatRegistrationFooter = (original, context) => {\n\n if (!original) {\n return \"\"\n }\n let value = original\n const supportEmail = window._.get(context, \"event.support_email\")\n const faqTitle = window._.get(context, \"contents.faqTitle\")\n\n if (value) {\n value = value.replaceAll('{{FAQ_LINK}}', faqTitle)\n value = value.replaceAll('{{SUPPORT_EMAIL}}', supportEmail)\n }\n\n return value\n}\n\nexport const translateChannelStatus = (statusCode) => {\n\n switch (statusCode) {\n // // UNKNOWN\n case channelStatus.UNKNOWN:\n return \"UNKNOWN\";\n case channelStatus.PRE_LIVE:\n return \"PRE_LIVE\";\n case channelStatus.LIVE:\n return \"LIVE\";\n case channelStatus.BUFFER:\n return \"BUFFER\";\n case channelStatus.BYE:\n return \"BYE\";\n case channelStatus.PRE_VOD:\n return \"PRE_VOD\";\n case channelStatus.VOD:\n return \"VOD\";\n case channelStatus.POST_VOD:\n return \"POST_VOD\";\n default:\n return false\n\n // // LIVE ONLY\n // const PRE_LIVE = 101;\n // const LIVE = 121;\n\n // // LIVE & VOD\n // const BUFFER = 202;\n // const BYE = 262;\n\n // // VOD ONLY\n // const PRE_VOD = 303;\n // const VOD = 323;\n // const POST_VOD = 343;\n }\n}\n\nexport const cleanCheckboxLabel = (string) => {\n if (!string) {\n return string\n }\n const cleaned = string.replace(/^]*>|<\\/p>$/g, '');\n const test = cleaned.match(/\\[TOS_POPUP\\].*?\\[\\/TOS_POPUP\\]/g); // [\"

    A

    \", \"

    B

    \", \"

    C

    \"]\n const temp = cleaned.replace(/\\[TOS_POPUP\\].*?\\[\\/TOS_POPUP\\]/g, \"++--TEMP_LINK--++\"); // [\"

    A

    \", \"

    B

    \", \"

    C

    \"]\n\n const chunks = temp.split(\"++--TEMP_LINK--++\")\n\n const linkContent = test ? test[0].replace(/^\\[TOS_POPUP\\]|\\[\\/TOS_POPUP\\]$/g, '') : \"\"\n return {\n \"before\": chunks[0] ? chunks[0].replace(/ $/, \"\") : null,\n \"after\": chunks[1] ? chunks[1].replace(/ $/, \"\") : null,\n \"linkContent\": linkContent\n }\n}\n\nexport const cleanFaqPopup = (string) => {\n\n if (!string) {\n return string\n }\n const res = string.split(\"\\n\").map((i, key) => {\n const cleaned = i.replace(/^]*>|<\\/p>$/g, '');\n const test = cleaned.match(/\\[FAQ_POPUP\\].*?\\[\\/FAQ_POPUP\\]/g); // [\"

    A

    \", \"

    B

    \", \"

    C

    \"]\n const temp = cleaned.replace(/\\[FAQ_POPUP\\].*?\\[\\/FAQ_POPUP\\]/g, \"++--TEMP_LINK--++\"); // [\"

    A

    \", \"

    B

    \", \"

    C

    \"]\n\n const chunks = temp.split(\"++--TEMP_LINK--++\")\n\n const linkContent = test ? test[0].replace(/^\\[FAQ_POPUP\\]|\\[\\/FAQ_POPUP\\]$/g, '') : \"\"\n\n return {\n \"before\": chunks[0],\n \"after\": chunks[1],\n \"linkContent\": linkContent\n }\n })\n return res\n}\n\nexport const initializeGTM = (gtmId) => {\n const tagManagerArgs = {\n gtmId: gtmId,\n }\n TagManager.initialize(tagManagerArgs)\n}\n\nexport const capitalize = (text) => {\n return text ? text.charAt(0).toUpperCase() + text.slice(1) : \"\"\n}\n\nexport const consoleLog = (...string) => {\n if (process.env.NODE_ENV === \"development\") {\n console.log(string)\n }\n}\n\nexport const initPusher = () => {\n return new Pusher(process.env.REACT_APP_PUSHER_APP_KEY, {\n // key: process.env.REACT_APP_PUSHER_APP_KEY,\n cluster: process.env.REACT_APP_PUSHER_APP_CLUSTER,\n forceTLS: true,\n authEndpoint: process.env.REACT_APP_API_BASEURL + 'broadcasting/auth',\n pongTimeout: 6000,\n activityTimeout: 30000,\n auth: {\n headers: {\n 'Authorization': \"Bearer \" + getAuthToken()\n }\n }\n });\n}\n\nexport const getLocalStorageOffsetFieldName = (postFix) => {\n return `vod-offset-${process.env.NODE_ENV}-${postFix}`\n}\n\nexport const getLocalStorageLastPauseFieldName = (postFix) => {\n return `last-pause-offset-${process.env.NODE_ENV}-${postFix}`\n}\n\nexport const getLocalStorageDurationFieldName = (postFix) => {\n return `last-pause-duration-${process.env.NODE_ENV}-${postFix}`\n}\n\nexport const getLocalStorageQaAEnabled = () => {\n return `qaa-enabled-${process.env.NODE_ENV}`\n}\n\nexport const setQaAEnabled = (value) => {\n consoleLog(\"setQaAEnabled\", value)\n sessionStorage.setItem(getLocalStorageQaAEnabled(), value);\n}\n\nexport const getQaAEnabled = () => {\n return sessionStorage.getItem(getLocalStorageQaAEnabled());\n}\n\n// Deprecated\nexport const getVttFileUrl = (m3u8FileUrl) => {\n return m3u8FileUrl.replace(/\\.m3u8/, \".vtt\")\n}\n\nexport const getChaptersVttFileUrl = (m3u8FileUrl) => {\n return m3u8FileUrl.replace(/index\\.m3u8/, \"chapters.vtt\")\n}\n\nexport const getCloseCaptionsVttFileUrl = (m3u8FileUrl, langId = null) => {\n const replace = langId ? `closedcaptions_${langId}.vtt` : \"closedcaptions.vtt\"\n return m3u8FileUrl.replace(/index\\.m3u8/, replace)\n}\n\nexport const getThumbnailsVttFileUrl = (m3u8FileUrl) => {\n return m3u8FileUrl.replace(/index\\.m3u8/, \"thumbnails.vtt\")\n}\n\nexport const lightenDarkenColor = (col, amt) => {\n\n var usePound = false;\n\n if (col[0] === \"#\") {\n col = col.slice(1);\n usePound = true;\n }\n\n var num = parseInt(col, 16);\n\n var r = (num >> 16) + amt;\n\n if (r > 255) r = 255;\n else if (r < 0) r = 0;\n\n var b = ((num >> 8) & 0x00FF) + amt;\n\n if (b > 255) b = 255;\n else if (b < 0) b = 0;\n\n var g = (num & 0x0000FF) + amt;\n\n if (g > 255) g = 255;\n else if (g < 0) g = 0;\n\n return (usePound ? \"#\" : \"\") + (g | (b << 8) | (r << 16)).toString(16);\n\n}","const { getAuthToken } = require('./utils/functions');\n\nwindow._ = require('lodash');\n/**\n * We'll load jQuery and the Bootstrap jQuery plugin which provides support\n * for JavaScript based Bootstrap features such as modals and tabs. This\n * code may be modified to fit the specific needs of your application.\n */\n\ntry {\n window.Popper = require('popper.js').default;\n window.$ = window.jQuery = require('jquery');\n\n require('bootstrap');\n} catch (e) { }\n\n/**\n * We'll load the axios HTTP library which allows us to easily issue requests\n * to our Laravel back-end. This library automatically handles sending the\n * CSRF token as a header based on the value of the \"XSRF\" token cookie.\n */\n\nwindow.axios = require('axios');\n\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\n// const token = document.head.querySelector('meta[name=\"csrf-token\"]');\n// const eventId = document.head.querySelector('meta[name=\"event-id\"]');\n\n// window.token = (token) ? token.content : '';\n// window.eventId = (eventId) ? eventId.content : '';\n\nwindow.axios.defaults.baseURL = `${process.env.REACT_APP_API_BASEURL}${process.env.REACT_APP_VERSION}/event/`;\n// window.axios.defaults.baseURL = `http://localhost:8091/api/event/${window.eventId}/`;\n\nconst authToken = getAuthToken();\n\nif (authToken) {\n // window.axios.defaults.headers.common[\"Authorization\"] = \"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5Mjc4NTkzZi0wYjI5LTQ0N2UtYjQ0Zi0wNzkxMGY2Yzk2ZmMiLCJqdGkiOiI5ZDI0OTM2ODk3NTFiOGI1OTNhMGEzMzE0MWZmMDMxMTYwMWUwZjU5ZmVmZDVlYzFiNzdiZjlhYjJjZjM5MTE3ZmY5ZjY0ZWJiNDQ1NTM0MiIsImlhdCI6IjE2MTA1NDIwNzYuNjU4NDM3IiwibmJmIjoiMTYxMDU0MjA3Ni42NTg0NDgiLCJleHAiOiIxNjQyMDc4MDc2LjU5Nzc4NiIsInN1YiI6IjEiLCJzY29wZXMiOltdfQ.ecsHmJtuq1XzFcqPKJMdnoGuzAPZp_asaTpwkirBRwbOyiPvxwcHYZKOUe_l_m-VY6VwU_nfllmpUo-IERt6fbPkpj3w9KI3DsgJgCjT9j40K5LeYaANJIpOL-GB4wb_VeMKpHHo7u1QiCdCZDbnaD-7lRuImP-J_6agxFwjjjbtN6CQRyukt3JDvIoVcXXkYSgwjE46RXh7iBfTdp0c2lxHlvSzS2AADAgC0-C0_fiFbDjDxEbg3Q5nkLEQioHKNvTDdwiZS28mJYvSEJCfcLjmg0v7ynbYjpKIBltqdT2yxZ8ELoZH-uDwymIF_sU60I6GWjuB7d2VNnwRK61w_ajDpKK5b4Zxyflp1u33Qq7vQWnW4I8-H7MJc3b90vkXUZtaSPM99Eis5F9L8VyB9VHQo5bFEewPeM1VAh_4ErHDARiVdmWlyzK-L0b85Js40Hu2sZ3sT6263barJOshC442YOwbxPWNdV4LkDzmoWTkPcmD5bUX7BZ43z9TxpB_kXxyQ95MpsSYrt-TtSQU9QcLbVOthh1G7c-rMAhY7jq6H8_J80-I2AN5SadPdLRDNOQDBPeIWzE5sUV5Jn3A8dR_BnQF_UlENvzNKUgYOWKYuvuUXkwTOyQKRoP6qW9PMYsddhvGzzC2HaVs2HRDi0MWhIM79e_jOlwQOY-GSp0\";\n window.axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + authToken;\n}\n// window.axios.defaults.headers.common[\"Authorization\"] = \"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5Mjc4NTkzZi0wYjI5LTQ0N2UtYjQ0Zi0wNzkxMGY2Yzk2ZmMiLCJqdGkiOiI5ZDI0OTM2ODk3NTFiOGI1OTNhMGEzMzE0MWZmMDMxMTYwMWUwZjU5ZmVmZDVlYzFiNzdiZjlhYjJjZjM5MTE3ZmY5ZjY0ZWJiNDQ1NTM0MiIsImlhdCI6IjE2MTA1NDIwNzYuNjU4NDM3IiwibmJmIjoiMTYxMDU0MjA3Ni42NTg0NDgiLCJleHAiOiIxNjQyMDc4MDc2LjU5Nzc4NiIsInN1YiI6IjEiLCJzY29wZXMiOltdfQ.ecsHmJtuq1XzFcqPKJMdnoGuzAPZp_asaTpwkirBRwbOyiPvxwcHYZKOUe_l_m-VY6VwU_nfllmpUo-IERt6fbPkpj3w9KI3DsgJgCjT9j40K5LeYaANJIpOL-GB4wb_VeMKpHHo7u1QiCdCZDbnaD-7lRuImP-J_6agxFwjjjbtN6CQRyukt3JDvIoVcXXkYSgwjE46RXh7iBfTdp0c2lxHlvSzS2AADAgC0-C0_fiFbDjDxEbg3Q5nkLEQioHKNvTDdwiZS28mJYvSEJCfcLjmg0v7ynbYjpKIBltqdT2yxZ8ELoZH-uDwymIF_sU60I6GWjuB7d2VNnwRK61w_ajDpKK5b4Zxyflp1u33Qq7vQWnW4I8-H7MJc3b90vkXUZtaSPM99Eis5F9L8VyB9VHQo5bFEewPeM1VAh_4ErHDARiVdmWlyzK-L0b85Js40Hu2sZ3sT6263barJOshC442YOwbxPWNdV4LkDzmoWTkPcmD5bUX7BZ43z9TxpB_kXxyQ95MpsSYrt-TtSQU9QcLbVOthh1G7c-rMAhY7jq6H8_J80-I2AN5SadPdLRDNOQDBPeIWzE5sUV5Jn3A8dR_BnQF_UlENvzNKUgYOWKYuvuUXkwTOyQKRoP6qW9PMYsddhvGzzC2HaVs2HRDi0MWhIM79e_jOlwQOY-GSp0\";\n\nwindow.axios.defaults.headers.common['Accept'] = 'application/json';\nwindow.axios.defaults.headers.common['Content-Type'] = 'application/json';\n\n\n// Add a response interceptor\nwindow.axios.interceptors.response.use(\n function (response) {\n // Any status code that lie within the range of 2xx cause this function to trigger\n // Do something with response data\n return response;\n },\n function (error) {\n // Any status codes that falls outside the range of 2xx cause this function to trigger\n // Do something with response error\n if ([401, 419].includes(error.response.status)) {\n console.log(\"Error 4xx Unauthenticated\")\n }\n return Promise.reject(error);\n }\n);\n\n/**\n * Echo exposes an expressive API for subscribing to channels and listening\n * for events that are broadcast by Laravel. Echo and event broadcasting\n * allows your team to easily build robust real-time web applications.\n */\n\n\n\n// window.Echo = new Echo({\n// broadcaster: 'pusher',\n// key: process.env.MIX_PUSHER_APP_KEY,\n// cluster: process.env.MIX_PUSHER_APP_CLUSTER,\n// forceTLS: true,\n// authEndpoint: '/api/broadcasting/auth',\n// auth: {\n// headers: {\n// 'Authorization': \"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5Mjc4NTkzZi0wYjI5LTQ0N2UtYjQ0Zi0wNzkxMGY2Yzk2ZmMiLCJqdGkiOiI5ZDI0OTM2ODk3NTFiOGI1OTNhMGEzMzE0MWZmMDMxMTYwMWUwZjU5ZmVmZDVlYzFiNzdiZjlhYjJjZjM5MTE3ZmY5ZjY0ZWJiNDQ1NTM0MiIsImlhdCI6IjE2MTA1NDIwNzYuNjU4NDM3IiwibmJmIjoiMTYxMDU0MjA3Ni42NTg0NDgiLCJleHAiOiIxNjQyMDc4MDc2LjU5Nzc4NiIsInN1YiI6IjEiLCJzY29wZXMiOltdfQ.ecsHmJtuq1XzFcqPKJMdnoGuzAPZp_asaTpwkirBRwbOyiPvxwcHYZKOUe_l_m-VY6VwU_nfllmpUo-IERt6fbPkpj3w9KI3DsgJgCjT9j40K5LeYaANJIpOL-GB4wb_VeMKpHHo7u1QiCdCZDbnaD-7lRuImP-J_6agxFwjjjbtN6CQRyukt3JDvIoVcXXkYSgwjE46RXh7iBfTdp0c2lxHlvSzS2AADAgC0-C0_fiFbDjDxEbg3Q5nkLEQioHKNvTDdwiZS28mJYvSEJCfcLjmg0v7ynbYjpKIBltqdT2yxZ8ELoZH-uDwymIF_sU60I6GWjuB7d2VNnwRK61w_ajDpKK5b4Zxyflp1u33Qq7vQWnW4I8-H7MJc3b90vkXUZtaSPM99Eis5F9L8VyB9VHQo5bFEewPeM1VAh_4ErHDARiVdmWlyzK-L0b85Js40Hu2sZ3sT6263barJOshC442YOwbxPWNdV4LkDzmoWTkPcmD5bUX7BZ43z9TxpB_kXxyQ95MpsSYrt-TtSQU9QcLbVOthh1G7c-rMAhY7jq6H8_J80-I2AN5SadPdLRDNOQDBPeIWzE5sUV5Jn3A8dR_BnQF_UlENvzNKUgYOWKYuvuUXkwTOyQKRoP6qW9PMYsddhvGzzC2HaVs2HRDi0MWhIM79e_jOlwQOY-GSp0\"\n// }\n// }\n// });\n\n// window.Pusher = new Pusher(process.env.REACT_APP_PUSHER_APP_KEY, {\n// key: process.env.REACT_APP_PUSHER_APP_KEY,\n// cluster: process.env.REACT_APP_PUSHER_APP_CLUSTER,\n// forceTLS: true,\n// authEndpoint: '/api/broadcasting/auth',\n// auth: {\n// headers: {\n// 'Authorization': \"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5Mjc4NTkzZi0wYjI5LTQ0N2UtYjQ0Zi0wNzkxMGY2Yzk2ZmMiLCJqdGkiOiI5ZDI0OTM2ODk3NTFiOGI1OTNhMGEzMzE0MWZmMDMxMTYwMWUwZjU5ZmVmZDVlYzFiNzdiZjlhYjJjZjM5MTE3ZmY5ZjY0ZWJiNDQ1NTM0MiIsImlhdCI6IjE2MTA1NDIwNzYuNjU4NDM3IiwibmJmIjoiMTYxMDU0MjA3Ni42NTg0NDgiLCJleHAiOiIxNjQyMDc4MDc2LjU5Nzc4NiIsInN1YiI6IjEiLCJzY29wZXMiOltdfQ.ecsHmJtuq1XzFcqPKJMdnoGuzAPZp_asaTpwkirBRwbOyiPvxwcHYZKOUe_l_m-VY6VwU_nfllmpUo-IERt6fbPkpj3w9KI3DsgJgCjT9j40K5LeYaANJIpOL-GB4wb_VeMKpHHo7u1QiCdCZDbnaD-7lRuImP-J_6agxFwjjjbtN6CQRyukt3JDvIoVcXXkYSgwjE46RXh7iBfTdp0c2lxHlvSzS2AADAgC0-C0_fiFbDjDxEbg3Q5nkLEQioHKNvTDdwiZS28mJYvSEJCfcLjmg0v7ynbYjpKIBltqdT2yxZ8ELoZH-uDwymIF_sU60I6GWjuB7d2VNnwRK61w_ajDpKK5b4Zxyflp1u33Qq7vQWnW4I8-H7MJc3b90vkXUZtaSPM99Eis5F9L8VyB9VHQo5bFEewPeM1VAh_4ErHDARiVdmWlyzK-L0b85Js40Hu2sZ3sT6263barJOshC442YOwbxPWNdV4LkDzmoWTkPcmD5bUX7BZ43z9TxpB_kXxyQ95MpsSYrt-TtSQU9QcLbVOthh1G7c-rMAhY7jq6H8_J80-I2AN5SadPdLRDNOQDBPeIWzE5sUV5Jn3A8dR_BnQF_UlENvzNKUgYOWKYuvuUXkwTOyQKRoP6qW9PMYsddhvGzzC2HaVs2HRDi0MWhIM79e_jOlwQOY-GSp0\"\n// }\n// }\n// });\n\n// if (window.eventId) {\n// const presenceChannel = window.Echo.join(`presence.${window.eventId}`)\n// .here((users) => {\n// console.log(\"presenceChannel here\", users)\n// })\n// .joining((user) => {\n// console.log(\"presenceChannel joining\", user.name);\n// })\n// .leaving((user) => {\n// console.log(\"presenceChannel leaving\", user.name);\n// });\n// console.log(\"presenceChannel\", presenceChannel)\n// }\n"],"sourceRoot":""}