{"version":3,"sources":["utils/constants/constants.ts","reportWebVitals.ts","redux/auth/actions.ts","redux/auth/reducer.ts","utils/auth0/auth0Client.ts","redux/translation/actions.ts","redux/translation/reducer.ts","redux/status/actions.ts","redux/status/reducer.ts","redux/content/actions.ts","redux/content/reducer.ts","redux/feedback/actions.ts","redux/feedback/reducer.ts","redux/media/actions.ts","redux/media/reducer.ts","redux/store.ts","redux/api/helpers.ts","redux/api/user.ts","components/gritx-toast/ToastKeyEnum.ts","redux/api/media.ts","redux/media/mediaAsyncActions.ts","assets/image/toasts/error-icon.svg","components/gritx-toast/GritxToast.tsx","components/gritx-toast/ToastMessageConfig.ts","redux/errorHandler.tsx","redux/api/content.ts","redux/content/contentAsyncActions.ts","redux/pageAsyncActions.ts","redux/translation/translationAsyncActions.ts","utils/constants/routeConstants.ts","redux/auth/authAsyncActions.ts","assets/image/backpack/backpack.svg","utils/hooks/useGetTranslations.ts","assets/image/library/skill-crossroad.svg","utils/hooks/useLoadFile.ts","assets/image/library/book.svg","assets/image/library/ok-circle.svg","assets/image/library/clock.svg","assets/image/library/empty-heart.svg","assets/image/library/full-heart.svg","components/gritx-button/ButtonVariantEnum.tsx","components/article-card/favorite-button/index.ts","components/article-card/favorite-button/FavoriteButton.tsx","utils/hooks/use-chat-bot/interfaces.ts","components/gritx-button/GritxButton.tsx","components/gritx-button/index.ts","components/article-card/material-button/index.ts","components/article-card/material-button/MaterialButton.tsx","components/article-card/index.ts","components/article-card/ArticleCard.tsx","components/loader/index.ts","components/loader/Loader.tsx","components/card-section/index.ts","components/card-section/CardSection.tsx","components/not-found-info/index.ts","components/not-found-info/NotFoundInfo.tsx","pages/backpack/index.ts","pages/backpack/Backpack.tsx","pages/callback/index.ts","pages/callback/Callback.tsx","assets/image/user-settings/BotDefaultAvatar.png","utils/hooks/use-chat-bot/useChatBot.ts","components/bot-chat/xpedition/xpedition-item/XpeditionItem.tsx","components/bot-chat/xpedition/XpeditionList.tsx","utils/helpers/setIsBodyScrolling.ts","components/meditation/Meditation.tsx","components/modal-window/ModalWindow.tsx","components/modal-window/index.ts","components/overlay/Overlay.tsx","components/meditation/index.ts","components/journal/PreviewPage.tsx","components/journal/JournalPage.tsx","components/journal/index.ts","components/journal/Journal.tsx","components/d-checkbox-list/index.ts","components/d-checkbox-list/DCheckboxList.tsx","components/d-input/index.ts","components/d-input/DInput.tsx","components/d-radiobutton/index.ts","components/d-radiobutton/DRadiobutton.tsx","components/d-choice/index.ts","components/d-choice/DChoice.tsx","components/d-button/index.ts","components/d-button/DButton.tsx","components/d-textarea/index.ts","components/d-textarea/DTextarea.tsx","components/d-form/index.ts","components/d-form/DForm.tsx","webpack:///./src/assets/image/menu-auth/chat.svg?e949","components/overlay/index.ts","components/self-interview/InterviewOverlay.tsx","components/self-interview/index.ts","components/self-interview/SelfInterview.tsx","components/article/index.ts","components/article/Article.tsx","components/bot-chat/BotContent.tsx","components/bot-chat/chat-loader/index.ts","components/bot-chat/chat-loader/ChatLoader.tsx","components/bot-chat/BotLoader.tsx","components/bot-chat/UserMessage.tsx","components/xpedition-overlay/index.ts","components/xpedition-overlay/XpeditionOverlay.tsx","components/bot-chat/BotMessages.tsx","components/bot-chat/index.ts","components/bot-chat/BotChat.tsx","pages/content/Content.tsx","pages/chat/index.ts","pages/chat/Chat.tsx","assets/image/connect-line/facebook.svg","pages/content/index.ts","pages/error/index.ts","pages/error/Error.tsx","utils/hooks/useResize.ts","components/meet-your-team/index.ts","components/meet-your-team/MeetYourTeam.tsx","components/vimeo-player/index.ts","components/vimeo-player/VimeoPlayer.tsx","assets/image/home-page/story.svg","assets/image/home-page/why-gritX.svg","assets/image/social-mobile/AppStore.svg","assets/image/connect-line/downloadViaGooglePlay.svg","assets/image/social-mobile/apple.svg","assets/image/social-mobile/android.svg","assets/image/social-mobile/qr-apple.svg","assets/image/social-mobile/qr-google.svg","components/main-area/MainArea.tsx","components/main-area/index.ts","pages/home/index.ts","pages/home/Home.tsx","assets/image/menu-auth/chat.svg","assets/image/menu-auth/xpedition.svg","assets/image/menu-auth/backpack.svg","assets/image/menu-auth/lib.svg","assets/image/menu-auth/materials.svg","assets/image/header/language-heart.svg","components/header/Navigation/Navigation.tsx","assets/image/header/logo.svg","assets/image/home-page/login.svg","assets/image/header/menu.svg","assets/image/header/close.svg","assets/image/user-settings/userDefaultAvatar.png","components/header/index.ts","components/header/Header.tsx","components/privacy/index.ts","components/privacy/Privacy.tsx","components/term/index.ts","components/term/Term.tsx","components/additional-information/index.ts","components/additional-information/AdditionalInformation.tsx","assets/image/connect-line/instagram.svg","assets/image/connect-line/twitter.svg","assets/image/connect-line/downloadViaAppStore.svg","webpack:///./src/assets/image/connect-line/downloadViaGooglePlay.svg?5df8","components/feedback-forms/SendStatusEnum.ts","components/connect-line/index.ts","components/connect-line/ConnectLine.tsx","assets/image/contact-line/helpCry.svg","assets/image/contact-line/helpRun.svg","assets/image/contact-line/helpTree.svg","components/contact-line/index.ts","components/contact-line/ContactLine.tsx","assets/image/help-info-line/contactRead.svg","assets/image/help-info-line/contactTalk.svg","assets/image/help-info-line/contactWrite.svg","utils/helpers/validators.ts","utils/helpers/base64convert.ts","redux/api/feedback.ts","redux/feedback/feedbackAsyncActions.ts","components/input/Input.tsx","components/input/index.ts","components/text-box/TextBox.tsx","components/text-box/index.ts","components/file-uploader/index.ts","components/file-uploader/FileUploader.tsx","assets/icons/square-close.svg","components/file-preview/index.ts","components/file-preview/FilePreview.tsx","components/feedback-forms/IssueForm.tsx","assets/image/feedback/skill-how-to-lemonade.svg","components/feedback-forms/FeedbackForms.tsx","webpack:///./src/assets/image/library/book.svg?db37","components/helpInfo-line/index.ts","components/helpInfo-line/HelpInfoLine.tsx","components/footer/index.ts","components/footer/Footer.tsx","components/layout/index.ts","components/layout/Layout.tsx","components/library/LibraryEnums.ts","components/library/toggle-button/index.ts","components/library/toggle-button/ToggleButton.tsx","assets/image/library/chevron-down.svg","components/library/filter-bar/index.ts","components/library/filter-bar/FilterBar.tsx","components/library/situation/index.ts","components/library/situation/Situation.tsx","assets/image/library/chevron-up.svg","assets/image/materials/apple.svg","components/library/situations/Situations.tsx","components/library/index.ts","components/library/LibraryFilters.tsx","pages/library/index.ts","pages/library/Library.tsx","assets/image/materials/plus.svg","assets/image/materials/success.png","components/gritx-select/index.ts","components/gritx-select/GritxSelect.tsx","assets/image/materials/question.svg","assets/image/user-settings/pencil-ico.svg","components/еmail-zone/email-box/index.ts","components/еmail-zone/email-box/EmailBox.tsx","components/еmail-zone/index.ts","components/еmail-zone/EmailZone.tsx","components/materials-share/index.ts","components/materials-share/MaterialsShare.tsx","pages/materials/index.ts","pages/materials/Materials.tsx","webpack:///./src/assets/image/menu-auth/xpedition.svg?3564","components/avatar/Avatar.tsx","components/avatar-list/AvatarsList.tsx","components/input-phone/InputPhone.tsx","pages/user-settings/SettingsForm.tsx","assets/image/user-settings/settings-img.png","pages/user-settings/index.ts","pages/user-settings/UserSettings.tsx","pages/xpedition/index.ts","pages/xpedition/Xpedition.tsx","pages/logout/index.ts","pages/logout/Logout.tsx","components/mobile-view/MobileView.tsx","pages/app/App.tsx","index.tsx"],"names":["ContentType","SystemLanguage","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","appStoreUrl","intIosAccess","googlePlayUrl","proUser","feedbackTypes","issue","newContent","joinUCSF","shareHistory","chat","newsletter","emailRegExp","RegExp","languages","value","English","title","key","Spanish","SET_USER","ERROR_LOGIN_SET","ERROR_LOGIN_CLEAR","SET_USER_DATA","SET_BOT_AVATARS","SET_USER_AVATARS","UPDATE_USER_AVATAR","UPDATE_BOT_AVATAR","FINISH_AUTHORIZATION","loginErrorActionSet","type","payload","loginErrorActionClear","setUserAction","user","setBotAvatarsAction","botAvatars","setUserAvatarsAction","userAvatars","setUserLanguageAction","data","language","clearUserAction","updateUserAvatarAction","avatar","updateBotAvatarAction","authInitialState","auth0Client","Auth0Client","domain","process","client_id","cacheLocation","useRefreshTokens","auth0User","userProfile","isFinishAuthorization","setUser","state","authReducerHandlers","Map","map","id","fileUrl","authReducer","action","handler","get","UPDATE_TRANSLATIONS","updateTranslationsAction","CHANGE_LOCALE","changeLocaleAction","locale","translationInitialState","translationKeys","translations","en","es","translationReducerHandlers","translationKey","newTranslations","translationsList","includes","push","translationReducer","START_LOADING","startLoadingAction","requestName","STOP_LOADING","finishLoadingAction","SET_ERROR","setErrorAction","error","CLEAR_ERROR","clearErrorAction","statusInitialState","loading","errors","errorLogin","statusReducerHandlers","filter","item","_unset","payloadData","_set","count","statusReducer","CLOSE_ARTICLE","closeArticle","CONTENT_LOADED","contentLoadedAction","content","FILTER_LOADED","libFiltersLoadedAction","CLEAR_SELECTED_FILTERS","ARTICLE_LOADED","articleLoadedAction","article","CHECK_FAVORITE","checkFavoriteAction","cardId","UNCHECK_FAVORITE","uncheckFavoriteAction","CHECK_MATERIAL","checkMaterialAction","contentId","UNCHECK_MATERIAL","uncheckMaterialAction","contentIds","BACKPACK_CONTENT_LOADED","backpackLoadedAction","backpack","MATERIALS_CONTENT_LOADED","materialsLoadedAction","material","SET_SELECTED_FILTERS","setSelectedFilters","filters","SET_SHARE_TEMPLATES","setShareTemplates","templates","SET_SEND_MATERIALS_STATUS","setSendMaterialsStatus","status","ContentInitialState","backpackContent","materialsContent","page","selectedFilters","shareTemplates","sendMaterialsStatus","setArticle","pageNumber","favorite","uncheckIds","contentReducer","UPLOADED_ATTACHMENT","attachmentUploadedAction","attach","REMOVE_ATTACHMENT","removeAttachAction","CLEAR_ATTACHMENT","clearAttachAction","attachKey","newSate","feedbackReducer","LOADED_MEDIA","mediaLoadedAction","media","mediaUrl","mediaReducer","rootReducer","combineReducers","auth","translation","feedback","middleware","applyMiddleware","thunk","store","createStore","setAxiosHeaders","token","axios","defaults","headers","common","Authorization","API_KEY","post","CLEVER_TOKEN","cleverToken","ToastKey","updateUserProfileApi","profile","getAvatarsApi","mode","getMediaUrlApi","fileId","isMain","loadMediaAction","callback","dispatch","a","actionKey","toString","console","log","GritxToast","options","className","src","ErrorIcon","alt","defaultMessage","description","showReloadButton","onClick","window","location","reload","toastOptionsMap","GetUserData","GetBotAvatars","GetUserAvatars","UpdateUserProfileAction","LoadContentAction","GetLibFilters","LoadArticleAction","LoadMaterialsContentAction","AddFavorite","RemoveFavorite","AddMaterial","RemoveMaterial","LoadBackpackContentAction","LoadMaterialsTemplates","SendMaterialsAction","SaveJournalAction","UploadAttachAction","SendFeedbackAction","JoinNewsletterAction","LoadTranslation","ChangeLocale","GetToken","FetchMedia","GetBotList","GetMainDialog","SetDialogLanguage","GetXpeditionList","StartXpedition","StartInterview","errorHandler","toastKey","currentAction","getState","setError","option","toast","isAuthenticated","isAxiosError","response","request","filterContentApi","getLibFiltersApi","filterType","params","getArticleApi","getMaterialsApi","getFavoritesApi","addFavoriteApi","removeFavoriteApi","removeMaterialApi","getTemplatesApi","saveJournalApi","journal","loadArticleAction","getArticle","message","loadMaterialsContentAction","getMaterialsContent","addFavoriteCardAction","removeFavoriteCardAction","addMaterialAction","comments","removeMaterialAction","isAll","getTranslations","getLibFilters","getLibContent","getBackpackContent","sendFeedback","getTemplates","sendMaterials","saveJournal","libraryAsyncActions","loadLibFiltersAction","loadLibContentAction","offset","pageSize","inputValue","length","join","lang","limit","backpackAsyncActions","loadBackpackContentAction","materialsAsyncActions","materials","contentLang","contentAsyncActions","fixedTranslations","Object","keys","reduce","tr","trim","slice","toLowerCase","Routes","TranslationKeys","loadTranslation","catch","e","changeLocale","keysForFetch","acc","find","Promise","all","results","loginErrorHandler","logout","startLoginAction","appRedirectUri","queryString","searchParams","URLSearchParams","append","loginWithRedirect","redirect_uri","origin","getUserData","userData","userAvatarId","dialogAvatarId","updateUserProfileAction","logoutAction","returnTo","document","_defs","_g","firstAuthorizedRoute","Chat","routeTranslationKeys","Library","Materials","Backpack","Xpedition","Settings","Content","useGetTranslations","useSelector","useDispatch","useEffect","_extends","assign","target","i","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgBackpack","_ref","svgRef","titleId","props","xmlns","xmlnsXlink","width","height","viewBox","ref","transform","x","y","fill","clipPath","d","ForwardRef","useLoadFile","getFileUrl","SvgOkCircle","style","enableBackground","xmlSpace","_path","SvgEmptyHeart","SvgFullHeart","ButtonVariant","FavoriteButton","activeCard","disabled","changeFavorite","MessageType","HistoryRequestType","BotType","BotActionType","GritxButton","variant","cn","Primary","Secondary","Light","Outline","MaterialButton","addToMaterials","intl","useIntl","formatMessage","ArticleCard","card","active","checked","disabledButtons","useState","cardData","setCardData","fullHeart","setFullHeart","isSave","setIsSave","newCard","tags","replace","pictureUrl","picture","Book","role","backgroundImage","labelPictureUrl","labelText","readingImageUrl","Clock","readingName","Loader","nested","calcStyles","setCalcStyles","loaderRef","useRef","current","loader","Math","min","offsetHeight","offsetWidth","CardSection","showLoader","cards","onLoadMore","onClickCard","checkedCards","proFlag","countCards","setCountCards","totalElements","setTotalElements","cardsList","setCardsList","buttonLoadMore","NotFoundInfo","image","history","useHistory","isLoadCards","setIsLoadCards","handleOpenCard","parentLocation","pathname","CrossroadImg","Callback","Home","redirectUri","setRedirectUri","setTimeout","handleRedirectCallback","getUser","getTokenSilently","redirectUriValue","search","to","getTimeZoneOffset","tz","Date","getTimezoneOffset","getHeaders","useChatBot","botType","dialog","setDialog","botAnswer","setBotAnswers","isLoading","setIsLoading","xpeditionList","setXpeditionList","getToken","makeDialogRead","dialogId","dialogueId","fetchMedia","answers","forEach","answer","Picture","urlData","newAnswers","newAnswer","index","findIndex","an","messageId","Interview","date","toISOString","sender","name","nickname","zoneOffset","addDialog","botId","getBotList","getDialogList","getMainDialog","botList","mainBot","bot","indMain","dialogList","mainDialog","dialogItem","getDialogById","dialogName","dialogueName","getDialogHistory","reverse","xpeditions","xpeditionId","Last","interviewId","alwaysCreate","interviewDialog","currentDialog","sendMessage","xpedition","getXpeditionList","startXpedition","dialogMethods","removeDialog","setDialogAvatar","setDialogName","startInterview","setDialogLanguage","XpeditionItem","onStart","onRemove","theme","imageUrl","background","percentage","XpeditionList","handleStartXpedition","handleRemoveDialog","BotIcon","setIsBodyScrolling","body","querySelector","classList","remove","add","MeditationMedia","MeditationSteps","ModalWindow","show","onHide","children","footerElement","styles","isOpen","ariaHideApp","shouldCloseOnEsc","overlayClassName","onRequestClose","imageSize","stopTimer","clearInterval","getTimeInSec","time","floor","CheckboxValue","Meditation","audioRef","setIsOpen","meditationDuration","setMeditationDuration","timerId","setTimerId","currentTime","setCurrentTime","breathIn","currentStep","setCurrentStep","currentStepTime","setCurrentStepTime","isShowStartButton","setIsShowStartButton","handleTimerTick","getMediaUrl","mediaList","url","setInterval","step","holdIn","breathOut","holdOut","getStep","radius","getScaleModification","isShowMeditationMessage","scrollTo","overlay","padding","audio","onLoadedMetadata","duration","play","kind","cx","cy","r","strokeDasharray","PI","fontSize","animationDuration","animationName","PreviewPage","pages","values","dangerouslySetInnerHTML","__html","prompt","text","JournalPage","currentPage","onClickDone","onChangePage","isLastPage","onChangeAnswer","handleChangePage","btn","placeholder","rows","maxLength","onChange","newJournal","Journal","onStop","isStartJournal","setIsStartJournal","setIsLastPage","setCurrentPage","setJournal","isShowPreview","setIsShowPreview","isShowLastEntry","setIsShowLastEntry","scrollToTop","forgetIt","handleStartJournal","getIsDisabledRemember","handleRememberJournal","handleCloseTab","event","returnValue","addEventListener","removeEventListener","model","getIsDisabledLastEntry","DCheckboxList","control","htmlFor","label","DInput","DRadiobutton","handleChangeRadio","list","radio","DChoice","choiceIdx","setChoiceIdx","newIdx","DButton","button","DTextarea","DForm","onChangeCheckbox","onChangeRadiobutton","onChangeInput","onChangeButton","onChangeChoice","handleChangeDCheckbox","inputIdx","handleChangeDInput","handleChangeDRadio","handleChangeDChoice","handleChangeDButton","parse","domNode","node","attribs","inputs","input","checkbox","textarea","choice","getComponent","JSON","stringify","href","rel","Overlay","onFinish","lastMessageDate","setAction","dataForSend","setDataForSend","isShowError","setIsShowError","controlIdx","checkboxData","newAction","addActionBody","form","currentControl","controls","selectedPrev","False","max","True","changedValue","selectedCur","radioValue","inputData","choiceValue","parsedAction","actionBody","contentInfo","remind","code","finish","actions","value_code","getTime","InterviewOverlay","botAnswers","overlays","setOverlays","handleChangeOverlay","overlayIdx","handleFinishInterview","overlayList","keyboard","buttons","actionType","SelfInterview","isStartInterview","setIsStartInterview","isFinishInterview","setIsFinishInterview","isDisabledNextButton","setIsDisabledNextButton","interviewAnswer","setInterviewAnswer","handleCloseInterview","animation","actionButton","Action","actionUrl","serialNumber","Article","onClose","isAddedToMaterials","setIsAddedToMaterials","isFavorite","setIsFavorite","isShowJournal","setIsShowJournal","isShowInterview","setIsShowInterview","journalPage","setJournalPage","handleShowJournal","val","handleChangeJournalPage","handleStartInterview","confirm","greetingContentId","BotContent","pictureAnswer","setPictureAnswer","pictures","undefined","ChatLoader","BotLoader","UserMessage","hideUserMessage","hidden","XpeditionOverlay","setLastMessageDate","BotMessages","groupAnswers","singleAnswers","onClickAction","onChangeOverlayAnswer","isShowXpeditionOverlay","setIsShowXpeditionOverlay","handleClickAction","renderBotAnswerButtons","OpenURL","renderBotAnswerLinks","urls","Boolean","desc","renderMessageCard","BotChat","chatLogRef","refInput","setGroupAnswers","setSingleAnswers","setSendMessage","setInput","isDisabledInput","setIsDisabledInput","showMessages","setShowMessages","setHideUserMessage","timer","setTimer","showLoading","setShowLoading","xpeditionOverlayAnswer","setXpeditionOverlayAnswer","chatBot","hasAnswers","clearTimeout","contentType","scrollHeight","scrollToBottom","pushUserMessage","Text","random","handleSend","handleSendOverlay","ContentView","ReturnValue","Schedule","tag","maxRows","onKeyDown","preventDefault","shiftKey","currentTarget","selectionStart","selectionEnd","newValue","substring","ev","SvgChat","LayoutType","layouts","useLocation","layoutType","setLayoutType","articleId","setArticleId","cardList","setCardList","prevScrollPosition","setPrevScrollPosition","currentScrollPosition","setCurrentScrollPosition","showBackToTopButton","setShowBackToTopButton","handleScroll","Debounce","scrollingElement","scrollTop","handleBackClick","handleScrollToTop","layout","hash","substr","renderArticle","Error","useResize","innerWidth","currentWidth","setCurrentWidth","handleResize","win","MeetYourTeam","teammates","team","listRef","openDescription","setOpenDescription","descriptionPosition","setDescriptionPosition","screenWidth","getTeammateImage","teammate","imageName","handleShowDescription","tile","closest","currentTileRight","getBoundingClientRect","right","listAreaWidth","left","calculatePosition","handleCloseInformation","person","aria-label","position","VimeoPlayer","onLoad","onError","videoId","videoRef","Vimeo","ready","data-vimeo-id","data-vimeo-responsive","data-vimeo-byline","data-vimeo-title","data-vimeo-portrait","RIBoldText","t","sections","img","story","keyTitle","keyDescription","whyGritx","bgcolor","AppsSection","Apple","QRApple","AppStore","Google","QRGoogle","GoogleApp","MainArea","b","appLocState","from","LanguageMenu","isOpenLanguageMenu","setIsOpenLanguageMenu","sortLang","navItems","path","isProUser","Navigation","onOpenMenu","handleSetActiveSection","setActiveSection","activeClassName","route","isActive","Header","isOpenAuthMenu","setIsOpenAuthMenu","isOpenGuestMenu","setIsOpenGuestMenu","escapeListener","useCallback","handleClick","element","contains","handleSignIn","handleSignOut","handleMenuAuthButton","handleCloseAuthMenu","handleClickSettings","showUserInitials","firstName","lastName","ButtonSignIn","LoginImg","ButtonAuthUser","UserIcon","MenuAuthUser","Logo","CloseMenu","Menu","Privacy","Term","AdditionalInformation","isShowPrivacy","setIsShowPrivacy","isShowTerms","setIsShowTerms","SvgFacebook","SvgInstagram","SvgTwitter","SvgDownloadViaAppStore","_linearGradient","_linearGradient2","_linearGradient3","_linearGradient4","_path2","_path3","_path4","_path5","_path6","_path7","_path8","_path9","_path10","_path11","SvgDownloadViaGooglePlay","gradientTransform","gradientUnits","x1","x2","y1","y2","stopColor","stroke","strokeMiterlimit","strokeWidth","opacity","SendStatus","ConnectLine","ContactLine","separator","hideSeparator","CryingPicture","RunningPicture","TreePicture","isRequiredValidator","isValidEmail","test","toBase64","file","resolve","reject","reader","FileReader","readAsDataURL","onload","result","onerror","uploadFeedbackAttachApi","contentData","fileName","fileBody","Accept","postFeedbackApi","formData","postMessageApi","uploadAttachAction","sendFeedbackAction","cb","joinNewsletterAction","inputErrorTypes","errorMessage","Input","required","onBlur","onKeyUp","setErrors","validateValue","onKeyPress","textBoxErrorTypes","TextBox","minLength","minLengthValidator","maxLengthValidator","FileUploader","useDropzone","maxSize","accept","acceptedFiles","fileRejections","getRootProps","getInputProps","isDragActive","isDragAccept","isDragReject","multiple","FilePreview","onDelete","RemoveIcon","URL","createObjectURL","size","toFixed","IssueForm","subtitle","textBoxLabel","showTextBox","showAttachments","email","files","setData","handleChange","newState","filesWithKeys","Number","String","split","formTitles","textBox","FeedbackForms","isShow","setIsShow","Draft","sendStatus","setSendStatus","setFormData","handleClose","handleChangeFormData","filesIds","fileKeys","Sending","subject","attachments","Finish","FinishNewsletter","getDisabledStatus","loadingStatus","FinishImg","HelpInfoLine","setFeedback","handleChangeFeedback","TalkPicture","ReadingPicture","WritingPicture","Footer","Layout","SvgBook","LibraryFilter","ToggleButton","icon","onToggle","isChecked","setIsChecked","FilterBar","typeFilters","timeFilters","onChangeSearchString","typeFiltersSelected","setTypeFiltersSelected","timeFiltersSelected","setTimeFiltersSelected","searchString","setSearchString","handleToggle","SearchString","Types","ReadingTime","Situation","LifeSituations","SvgChevronDown","SvgChevronUp","Situations","isCollapseOpen","setIsCollapseOpen","aria-expanded","isOpened","LibraryFilters","situationFilterList","setSituationFilterList","typeFilterList","setTypeFilterList","timeFilterList","setTimeFilterList","getFilters","typeFilter","filterList","allowValues","dispatchFilters","challengeValues","mappedFilterValues","cv","filtersList","format","updatedSituations","sv","changeSituationFilter","updatedFilters","filterIdx","v","libFilters","loadContent","handleChangeFilters","changedFilters","SvgApple","xlinkHref","overflow","GritxSelect","defaultValue","selected","SvgPlus","SvgQuestion","EmailBox","deleteEmail","EmailZone","initialEmails","initialToSelf","toSelf","setToSelf","inputEmails","setInputEmails","parsedEmails","setParsedEmails","parseEmails","emails","EmailValidator","newEmails","handleDeleteEmail","ctrlKey","MaterialsShare","onSend","onRemoveAll","onShareMode","isDisabledRemoveAll","isDisabledShare","isDisabledSend","setEmails","setSubject","handleClearMaterials","handleToggleForm","handleSendForm","handleSelectSubject","newSubj","subj","handleDone","templateId","template","parsedToSelf","updateEmailsAndToSelf","isShareMode","setIsShareMode","setCheckedCards","recipientInfo","setRecipientInfo","validateModel","some","materialsModel","cardsId","SuccessImg","SvgPencilIco","Avatar","editable","imgUrl","imgText","AvatarList","closeModal","avatarsList","setAvatarsList","updatedAvatars","avatars","InputPhone","labelClassName","userPhoneNumber","showErrorMessage","setShowErrorMessage","phoneValue","setPhoneValue","countryOptionsOrder","limitMaxLength","international","isValidPhoneNumber","onFocus","SettingsForm","setFirstName","setLastName","setEmail","phone","setPhone","modalAvatarsFlag","setModalAvatarsFlag","isRequiredEmail","setIsRequiredEmail","isChangeForm","setIsChangeForm","openModal","newPhone","getValidEmailValue","getValidPhoneValue","getValidFormStatus","UserSettings","SettingImg","SvgXpedition","Logout","MobileView","PrivateRoute","rest","render","App","isMobileView","setIsMobileView","Common","Toasts","scrollRestoration","navigator","userAgent","maxTouchPoints","messages","newestOnTop","closeOnClick","rtl","pauseOnFocusLoss","draggable","hideProgressBar","autoClose","transition","Bounce","Helmet","exact","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.ab1a7f16.chunk.js","sourcesContent":["export const tabletsWidth = 640;\r\nexport const desktopWidth = 980;\r\nexport const largeDesktopWidth = 1280;\r\n\r\nexport const vimeoId = 521211733;\r\nexport const appStoreUrl = 'https://apps.apple.com/us/app/gritx/id1516634763?uo=4';\r\nexport const intIosAccess = 'https://testflight.apple.com/join/S2ng3lMy';\r\nexport const googlePlayUrl = 'https://play.google.com/store/apps/details?id=com.verbalize.gritx';\r\nexport const twitterUrl = 'https://twitter.com/GritStories/';\r\nexport const facebookUrl = 'https://www.facebook.com/gritstories/';\r\nexport const instagramUrl = 'https://www.instagram.com/gritstories/';\r\nexport const maxArticleCards = 12;\r\nexport const proUser = 'GritX Pro users';\r\nexport const maxEmails = 40;\r\n\r\nexport const feedbackTypes = {\r\n issue: 'issue',\r\n newContent: 'newContent',\r\n joinUCSF: 'joinUCSF',\r\n shareHistory: 'shareHistory',\r\n chat: 'chat',\r\n newsletter: 'newsletter'\r\n};\r\n\r\nexport const emailRegExp = new RegExp(/^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/);\r\nexport const fileSize = 10485760;\r\n\r\nexport enum ContentType {\r\n Meditation = 'MEDITATION',\r\n Skill = 'SKILL',\r\n SelfCare = 'Self-care',\r\n Journal = 'JOURNAL',\r\n SelfInterview = 'SELF_INTERVIEW'\r\n}\r\n\r\nexport enum SystemLanguage {\r\n English = 'en',\r\n Spanish = 'es'\r\n}\r\n\r\nexport const languages = [\r\n {\r\n value: SystemLanguage.English,\r\n title: 'English',\r\n key: 'gritx.common.language.en'\r\n },\r\n {\r\n value: SystemLanguage.Spanish,\r\n title: 'Spanish',\r\n key: 'gritx.common.language.es'\r\n }\r\n];\r\n\r\n","import {ReportHandler} from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler): void => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({getCLS, getFID, getFCP, getLCP, getTTFB}) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import {IAction} from 'redux/interface';\r\nimport {IAvatar, IUser, IUserProfile} from './interfaces';\r\nimport {InferActionsTypes} from 'redux/helpers';\r\nimport {SystemLanguage} from 'utils/constants/constants';\r\n\r\nexport const SET_USER = 'SET_USER';\r\nexport const ERROR_LOGIN_SET = 'ERROR_LOGIN_SET';\r\nexport const ERROR_LOGIN_CLEAR = 'ERROR_LOGIN_CLEAR';\r\nexport const SET_USER_DATA = 'SET_USER_DATA';\r\nexport const SET_BOT_AVATARS = 'SET_BOT_AVATARS';\r\nexport const SET_USER_AVATARS = 'SET_USER_AVATARS';\r\nexport const UPDATE_USER_AVATAR = 'UPDATE_USER_AVATAR';\r\nexport const UPDATE_BOT_AVATAR = 'UPDATE_BOT_AVATAR';\r\nexport const FINISH_AUTHORIZATION = 'FINISH_AUTHORIZATION';\r\n\r\nexport const loginErrorActionSet = (): IAction => ({\r\n type: ERROR_LOGIN_SET,\r\n payload: true\r\n});\r\n\r\nexport const loginErrorActionClear = (): IAction => ({\r\n type: ERROR_LOGIN_CLEAR,\r\n payload: false\r\n});\r\n\r\nexport const setUserAction = (user: IUser): IAction => ({\r\n type: SET_USER,\r\n payload: user\r\n});\r\n\r\nexport const setUserProfileAction = (userProfile: IUserProfile): IAction => ({\r\n type: SET_USER_DATA,\r\n payload: userProfile\r\n});\r\n\r\nexport const setBotAvatarsAction = (botAvatars: IAvatar[]): IAction => ({\r\n type: SET_BOT_AVATARS,\r\n payload: botAvatars\r\n});\r\n\r\nexport const setUserAvatarsAction = (userAvatars: IAvatar[]): IAction => ({\r\n type: SET_USER_AVATARS,\r\n payload: userAvatars\r\n});\r\n\r\nexport const setUserLanguageAction = (data: IUserProfile): IAction => ({\r\n type: SET_USER_DATA,\r\n payload: {\r\n ...data,\r\n language: data.language || SystemLanguage.English\r\n }\r\n});\r\n\r\nexport const clearUserAction = (): IAction => ({\r\n type: SET_USER,\r\n payload: null\r\n});\r\n\r\nexport const updateUserAvatarAction = (avatar: IAvatar): IAction => ({\r\n type: UPDATE_USER_AVATAR,\r\n payload: avatar\r\n});\r\n\r\nexport const updateBotAvatarAction = (avatar: IAvatar): IAction => ({\r\n type: UPDATE_BOT_AVATAR,\r\n payload: avatar\r\n});\r\nexport const finishAuthorizationAction = (): IAction => ({\r\n type: FINISH_AUTHORIZATION,\r\n payload: null\r\n});\r\n\r\nconst authActions = {\r\n loginErrorActionSet,\r\n loginErrorActionClear,\r\n setUserAction,\r\n clearUserAction,\r\n setUserProfileAction,\r\n setBotAvatarsAction,\r\n setUserAvatarsAction,\r\n setUserLanguageAction,\r\n updateUserAvatarAction,\r\n updateBotAvatarAction\r\n};\r\n\r\nexport type AuthActionsType = InferActionsTypes\r\n","import {\r\n AuthActionsType,\r\n ERROR_LOGIN_SET,\r\n FINISH_AUTHORIZATION,\r\n SET_BOT_AVATARS,\r\n SET_USER,\r\n SET_USER_AVATARS,\r\n SET_USER_DATA,\r\n UPDATE_BOT_AVATAR,\r\n UPDATE_USER_AVATAR\r\n} from './actions';\r\nimport {IAuthActionHandlerProps, IAuthInitialState, IAvatar, IUser, IUserProfile} from './interfaces';\r\nimport auth0Instance from 'utils/auth0/auth0Client';\r\n\r\nconst authInitialState: IAuthInitialState = {\r\n auth0Client: auth0Instance,\r\n auth0User: null,\r\n userProfile: null,\r\n botAvatars: null,\r\n userAvatars: null,\r\n isFinishAuthorization: false\r\n};\r\n\r\nfunction setUser({\r\n state,\r\n payload\r\n}: IAuthActionHandlerProps): IAuthInitialState {\r\n return {\r\n ...state,\r\n auth0User: payload as IUser || null\r\n };\r\n}\r\n\r\nfunction setUserProfile({\r\n state,\r\n payload\r\n}: IAuthActionHandlerProps): IAuthInitialState {\r\n return {\r\n ...state,\r\n userProfile: payload as IUserProfile || null\r\n };\r\n}\r\n\r\nfunction setBotAvatars({\r\n state,\r\n payload\r\n}: IAuthActionHandlerProps): IAuthInitialState {\r\n return {\r\n ...state,\r\n botAvatars: payload as IAvatar[] || null\r\n };\r\n}\r\n\r\nfunction setUserAvatars({\r\n state,\r\n payload\r\n}: IAuthActionHandlerProps): IAuthInitialState {\r\n return {\r\n ...state,\r\n userAvatars: payload as IAvatar[] || null\r\n };\r\n}\r\n\r\nfunction updateUserAvatarValue({\r\n state,\r\n payload\r\n}: IAuthActionHandlerProps): IAuthInitialState {\r\n const data = payload as IAvatar;\r\n\r\n return {\r\n ...state,\r\n userAvatars: state.userAvatars?.map(avatar => {\r\n if (avatar.id === data.id) {\r\n return {\r\n ...avatar,\r\n fileUrl: data.fileUrl\r\n };\r\n }\r\n\r\n return avatar;\r\n }) || [data]\r\n };\r\n}\r\n\r\nfunction updateBotAvatarValue({\r\n state,\r\n payload\r\n}: IAuthActionHandlerProps): IAuthInitialState {\r\n const data = payload as IAvatar;\r\n\r\n return {\r\n ...state,\r\n botAvatars: state.botAvatars?.map(avatar => {\r\n if (avatar.id === data.id) {\r\n return {\r\n ...avatar,\r\n fileUrl: data.fileUrl\r\n };\r\n }\r\n\r\n return avatar;\r\n }) || [data]\r\n };\r\n}\r\n\r\nfunction finishAuthorization({\r\n state\r\n}: IAuthActionHandlerProps): IAuthInitialState {\r\n return {\r\n ...state,\r\n isFinishAuthorization: true\r\n };\r\n}\r\n\r\nconst authReducerHandlers = new Map([\r\n [SET_USER, setUser],\r\n [ERROR_LOGIN_SET, setUser],\r\n [SET_USER_DATA, setUserProfile],\r\n [SET_BOT_AVATARS, setBotAvatars],\r\n [SET_USER_AVATARS, setUserAvatars],\r\n [UPDATE_USER_AVATAR, updateUserAvatarValue],\r\n [UPDATE_BOT_AVATAR, updateBotAvatarValue],\r\n [FINISH_AUTHORIZATION, finishAuthorization]\r\n]);\r\n\r\nconst authReducer = (state = authInitialState, action: AuthActionsType): IAuthInitialState => {\r\n const handler = authReducerHandlers.get(action.type);\r\n\r\n return (handler && {\r\n ...handler({\r\n state,\r\n payload: action.payload\r\n })\r\n }) || {...state};\r\n};\r\n\r\nexport default authReducer;\r\n\r\n","import {Auth0Client} from '@auth0/auth0-spa-js';\r\n\r\nlet auth0Instance: Auth0Client;\r\n\r\nif (process.env.NODE_ENV !== 'test') {\r\n auth0Instance = new Auth0Client({\r\n domain: process.env.REACT_APP_AUTH0_DOMAIN as string,\r\n client_id: process.env.REACT_APP_AUTH0_CLIENT_ID as string,\r\n cacheLocation: 'localstorage',\r\n useRefreshTokens: true\r\n });\r\n} else {\r\n auth0Instance = {\r\n getUser: jest.fn(),\r\n getIdTokenClaims: jest.fn(),\r\n loginWithRedirect: jest.fn(),\r\n handleRedirectCallback: jest.fn(),\r\n checkSession: jest.fn(),\r\n getTokenSilently: ()=>Promise.resolve('token'),\r\n getTokenWithPopup: jest.fn(),\r\n isAuthenticated: ()=>Promise.resolve(true),\r\n logout: jest.fn()\r\n } as unknown as Auth0Client;\r\n}\r\nexport default auth0Instance;\r\n","import {IUpdateTranslations} from './interfaces';\r\nimport {IAction} from 'redux/interface';\r\nimport {InferActionsTypes} from '../helpers';\r\n\r\nexport const UPDATE_TRANSLATIONS = 'UPDATE_TRANSLATIONS';\r\nexport const updateTranslationsAction = (payload: IUpdateTranslations): IAction => ({\r\n type: UPDATE_TRANSLATIONS,\r\n payload\r\n});\r\n\r\nexport const CHANGE_LOCALE = 'CHANGE_LOCALE';\r\nexport const changeLocaleAction = (locale: string): IAction => ({\r\n type: CHANGE_LOCALE,\r\n payload: locale\r\n});\r\n\r\nconst translationActions = {\r\n updateTranslationsAction,\r\n changeLocaleAction\r\n};\r\n\r\nexport type TranslationActionsType = InferActionsTypes\r\n","import {ITranslationActionHandler, ITranslationInitialState, IUpdateTranslations} from './interfaces';\r\nimport {CHANGE_LOCALE, TranslationActionsType, UPDATE_TRANSLATIONS} from './actions';\r\nimport {SystemLanguage} from 'utils/constants/constants';\r\n\r\nconst translationInitialState: ITranslationInitialState = {\r\n locale: SystemLanguage.English,\r\n translationKeys: [],\r\n translations: {\r\n en: {},\r\n es: {}\r\n }\r\n};\r\n\r\nfunction changeLocale({\r\n state,\r\n payload\r\n}: ITranslationActionHandler): ITranslationInitialState {\r\n return {\r\n ...state,\r\n locale: payload as string\r\n };\r\n}\r\n\r\nfunction updateTranslations({\r\n state,\r\n payload\r\n}: ITranslationActionHandler): ITranslationInitialState {\r\n const {\r\n locale,\r\n translationKey,\r\n translations: newTranslations\r\n } = payload as IUpdateTranslations;\r\n const translationsList = {\r\n ...state.translations[locale],\r\n ...newTranslations\r\n };\r\n const translationKeys = state.translationKeys;\r\n\r\n if (translationKey && !translationKeys.includes(translationKey)) {\r\n translationKeys.push(translationKey);\r\n }\r\n\r\n return {\r\n ...state,\r\n translationKeys: [...translationKeys],\r\n translations: {\r\n ...state.translations,\r\n [locale]: {...translationsList}\r\n }\r\n };\r\n}\r\n\r\nconst translationReducerHandlers = new Map([\r\n [CHANGE_LOCALE, changeLocale],\r\n [UPDATE_TRANSLATIONS, updateTranslations]\r\n]);\r\n\r\nconst translationReducer = (state = translationInitialState, action: TranslationActionsType): ITranslationInitialState => {\r\n const handler = translationReducerHandlers.get(action.type);\r\n\r\n return (handler && {\r\n ...handler({\r\n state,\r\n payload: action.payload\r\n })\r\n }) || {...state};\r\n};\r\n\r\nexport default translationReducer;\r\n","import {IAction, IErrorActionPayload} from 'redux/interface';\r\nimport {InferActionsTypes} from 'redux/helpers';\r\n\r\nexport const START_LOADING = 'START_LOADING';\r\nexport const startLoadingAction = (requestName: string): IAction => ({\r\n type: START_LOADING,\r\n payload: requestName\r\n});\r\nexport const STOP_LOADING = 'STOP_LOADING';\r\nexport const finishLoadingAction = (requestName: string): IAction => ({\r\n type: STOP_LOADING,\r\n payload: requestName\r\n});\r\n\r\nexport const SET_ERROR = 'SET_ERROR';\r\nexport const setErrorAction = (error: IErrorActionPayload): IAction => ({\r\n type: SET_ERROR,\r\n payload: error\r\n});\r\nexport const CLEAR_ERROR = 'CLEAR_ERROR';\r\nexport const clearErrorAction = (key: string): IAction => ({\r\n type: CLEAR_ERROR,\r\n payload: key\r\n});\r\n\r\nconst statusActions = {\r\n startLoadingAction,\r\n finishLoadingAction,\r\n setErrorAction,\r\n clearErrorAction\r\n};\r\n\r\nexport type StatusActionsType = InferActionsTypes\r\n","import {IErrorActionPayload} from 'redux/interface';\r\nimport {ERROR_LOGIN_CLEAR, ERROR_LOGIN_SET} from 'redux/auth/actions';\r\nimport {IStatusActionHandler, IStatusInitialState} from './interfaces';\r\nimport {CLEAR_ERROR, SET_ERROR, START_LOADING, StatusActionsType, STOP_LOADING} from './actions';\r\nimport _set from 'lodash/set';\r\nimport _unset from 'lodash/unset';\r\n\r\nconst statusInitialState: IStatusInitialState = {\r\n loading: [],\r\n errors: {},\r\n errorLogin: false\r\n};\r\nconst setErrorLogin = ({\r\n state\r\n}: IStatusActionHandler): IStatusInitialState => {\r\n return {\r\n ...state,\r\n errorLogin: true\r\n };\r\n};\r\nconst clearErrorLogin = ({\r\n state\r\n}: IStatusActionHandler): IStatusInitialState => {\r\n return {\r\n ...state,\r\n errorLogin: false\r\n };\r\n};\r\nconst startLoading = ({\r\n state,\r\n payload\r\n}: IStatusActionHandler): IStatusInitialState => {\r\n return {\r\n ...state,\r\n loading: [...state.loading, payload as string]\r\n };\r\n};\r\nconst stopLoading = ({\r\n state,\r\n payload\r\n}: IStatusActionHandler): IStatusInitialState => {\r\n return {\r\n ...state,\r\n loading: [...state.loading.filter(item => item !== payload)]\r\n };\r\n};\r\nconst setError = ({\r\n state,\r\n payload\r\n}: IStatusActionHandler): IStatusInitialState => {\r\n const payloadData = payload as IErrorActionPayload;\r\n\r\n _set(state, `errors.${payloadData.key}`, {\r\n error: payloadData.value,\r\n count: 1 + state.errors[payloadData.key]?.count || 0\r\n });\r\n\r\n return {\r\n ...state\r\n };\r\n};\r\nconst clearError = ({\r\n state,\r\n payload\r\n}: IStatusActionHandler): IStatusInitialState => {\r\n _unset(state, `errors.${payload}`);\r\n\r\n return {\r\n ...state\r\n };\r\n};\r\n\r\nconst statusReducerHandlers = new Map([\r\n [ERROR_LOGIN_SET, setErrorLogin],\r\n [ERROR_LOGIN_CLEAR, clearErrorLogin],\r\n [START_LOADING, startLoading],\r\n [STOP_LOADING, stopLoading],\r\n [CLEAR_ERROR, clearError],\r\n [SET_ERROR, setError]\r\n]);\r\n\r\nconst statusReducer = (state = statusInitialState, action: StatusActionsType): IStatusInitialState => {\r\n const handler = statusReducerHandlers.get(action.type);\r\n\r\n return (handler && {\r\n ...handler({\r\n state,\r\n payload: action.payload\r\n })\r\n }) || {...state};\r\n};\r\n\r\nexport default statusReducer;\r\n","import {IAction} from 'redux/interface';\r\nimport {IArticle, IArticleCard, IFilter, ILibraryFiltersResponse, ILibraryResponse, IShareTemplate} from './interfaces';\r\nimport {InferActionsTypes} from 'redux/helpers';\r\n\r\nexport const CLOSE_ARTICLE = 'CLOSE_ARTICLE';\r\nexport const closeArticle = (): IAction => ({\r\n type: CLOSE_ARTICLE,\r\n payload: null\r\n});\r\n\r\nexport const CONTENT_LOADED = 'CONTENT_LOADED';\r\nexport const contentLoadedAction = (content: ILibraryResponse): IAction => ({\r\n type: CONTENT_LOADED,\r\n payload: content\r\n});\r\n\r\nexport const FILTER_LOADED = 'FILTER_LOADED';\r\nexport const libFiltersLoadedAction = (content: ILibraryFiltersResponse): IAction => ({\r\n type: FILTER_LOADED,\r\n payload: content\r\n});\r\n\r\nexport const CLEAR_SELECTED_FILTERS = 'CLEAR_FILTERS';\r\nexport const libClearSelectedFiltersAction = (): IAction => ({\r\n type: CLEAR_SELECTED_FILTERS,\r\n payload: null\r\n});\r\n\r\nexport const ARTICLE_LOADED = 'ARTICLE_LOADED';\r\nexport const articleLoadedAction = (article: IArticle): IAction => ({\r\n type: ARTICLE_LOADED,\r\n payload: article\r\n});\r\n\r\nexport const CHECK_FAVORITE = 'CHECK_FAVORITE';\r\nexport const checkFavoriteAction = (cardId: number): IAction => ({\r\n type: CHECK_FAVORITE,\r\n payload: cardId\r\n});\r\n\r\nexport const UNCHECK_FAVORITE = 'UNCHECK_FAVORITE';\r\nexport const uncheckFavoriteAction = (cardId: number): IAction => ({\r\n type: UNCHECK_FAVORITE,\r\n payload: cardId\r\n});\r\n\r\nexport const CHECK_MATERIAL = 'CHECK_MATERIAL';\r\nexport const checkMaterialAction = (contentId: number): IAction => ({\r\n type: CHECK_MATERIAL,\r\n payload: contentId\r\n});\r\n\r\nexport const UNCHECK_MATERIAL = 'UNCHECK_MATERIAL';\r\nexport const uncheckMaterialAction = (contentIds: number[]): IAction => ({\r\n type: UNCHECK_MATERIAL,\r\n payload: contentIds\r\n});\r\n\r\nexport const BACKPACK_CONTENT_LOADED = 'BACKPACK_CONTENT_LOADED';\r\nexport const backpackLoadedAction = (backpack: IArticleCard[]): IAction => ({\r\n type: BACKPACK_CONTENT_LOADED,\r\n payload: backpack\r\n});\r\n\r\nexport const MATERIALS_CONTENT_LOADED = 'MATERIALS_CONTENT_LOADED';\r\nexport const materialsLoadedAction = (material: IArticleCard[]): IAction => ({\r\n type: MATERIALS_CONTENT_LOADED,\r\n payload: material\r\n});\r\n\r\nexport const SET_SELECTED_FILTERS = 'SET_SELECTED_FILTERS';\r\nexport const setSelectedFilters = (filters: IFilter[]): IAction => ({\r\n type: SET_SELECTED_FILTERS,\r\n payload: filters\r\n});\r\n\r\nexport const SET_SHARE_TEMPLATES = 'SET_SHARE_TEMPLATES';\r\nexport const setShareTemplates = (templates: IShareTemplate[]): IAction => ({\r\n type: SET_SHARE_TEMPLATES,\r\n payload: templates\r\n});\r\nexport const SET_SEND_MATERIALS_STATUS = 'SET_SEND_MATERIALS_STATUS';\r\nexport const setSendMaterialsStatus = (status: boolean): IAction => ({\r\n type: SET_SEND_MATERIALS_STATUS,\r\n payload: status\r\n});\r\n\r\nconst contentActions = {\r\n closeArticle,\r\n contentLoadedAction,\r\n libFiltersLoadedAction,\r\n articleLoadedAction,\r\n checkFavoriteAction,\r\n uncheckFavoriteAction,\r\n checkMaterialAction,\r\n uncheckMaterialAction,\r\n backpackLoadedAction,\r\n materialsLoadedAction,\r\n setSelectedFilters,\r\n setShareTemplates,\r\n setSendMaterialsStatus\r\n};\r\n\r\nexport type ContentActionsType = InferActionsTypes\r\n","import {\r\n IArticle,\r\n IArticleCard,\r\n IContentActionHandler,\r\n IContentInitialState,\r\n IFilter,\r\n ILibraryFiltersResponse,\r\n ILibraryResponse,\r\n IShareTemplate\r\n} from './interfaces';\r\nimport {\r\n ARTICLE_LOADED,\r\n BACKPACK_CONTENT_LOADED,\r\n CHECK_FAVORITE,\r\n CHECK_MATERIAL, CLEAR_SELECTED_FILTERS,\r\n CLOSE_ARTICLE,\r\n CONTENT_LOADED,\r\n ContentActionsType,\r\n FILTER_LOADED,\r\n MATERIALS_CONTENT_LOADED,\r\n SET_SELECTED_FILTERS,\r\n SET_SEND_MATERIALS_STATUS,\r\n SET_SHARE_TEMPLATES,\r\n UNCHECK_FAVORITE,\r\n UNCHECK_MATERIAL\r\n} from './actions';\r\n\r\nconst ContentInitialState: IContentInitialState = {\r\n content: [],\r\n backpackContent: [],\r\n materialsContent: [],\r\n page: null,\r\n filters: null,\r\n article: null,\r\n selectedFilters: [],\r\n shareTemplates: [],\r\n sendMaterialsStatus: false\r\n};\r\n\r\nconst setContent = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n const {\r\n data,\r\n page\r\n } = payload as ILibraryResponse;\r\n\r\n return {\r\n ...state,\r\n content: page.pageNumber === 0 ? data : [...state.content, ...data],\r\n page: page\r\n };\r\n};\r\n\r\nconst setBackpackContent = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n backpackContent: payload as IArticleCard[]\r\n };\r\n};\r\n\r\nconst setMaterialsContent = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n materialsContent: payload as IArticleCard[]\r\n };\r\n};\r\n\r\nconst setFilters = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n filters: payload as ILibraryFiltersResponse\r\n };\r\n};\r\n\r\nconst setArticle = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n article: {\r\n ...payload as IArticle\r\n }\r\n };\r\n};\r\nconst closeArticle = ({\r\n state\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n article: null\r\n };\r\n};\r\n\r\nconst checkFavorite = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n content: state.content.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n favorite: true\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n backpackContent: state.backpackContent.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n favorite: true\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n materialsContent: state.materialsContent.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n favorite: true\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n article: state.article?.id === payload ? {\r\n ...state.article,\r\n favorite: true\r\n } : state.article\r\n };\r\n};\r\nconst uncheckFavorite = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n content: state.content.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n favorite: false\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n backpackContent: state.backpackContent.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n favorite: false\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n materialsContent: state.materialsContent.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n favorite: false\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n article: state.article?.id === payload ? {\r\n ...state.article,\r\n favorite: false\r\n } : state.article\r\n };\r\n};\r\n\r\nconst checkMaterial = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n content: state.content.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n material: true\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n backpackContent: state.backpackContent.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n material: true\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n materialsContent: state.materialsContent.map((item) => {\r\n if (item.id === payload) {\r\n return {\r\n ...item,\r\n material: true\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n article: state.article?.id === payload ? {\r\n ...state.article,\r\n material: true\r\n } : state.article\r\n };\r\n};\r\nconst uncheckMaterial = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n const uncheckIds = payload as number[];\r\n\r\n return {\r\n ...state,\r\n content: state.content.map((item) => {\r\n if (uncheckIds.includes(item.id)) {\r\n return {\r\n ...item,\r\n material: false\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n backpackContent: state.backpackContent.map((item) => {\r\n if (uncheckIds.includes(item.id)) {\r\n return {\r\n ...item,\r\n material: false\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n materialsContent: state.materialsContent.map((item) => {\r\n if (uncheckIds.includes(item.id)) {\r\n return {\r\n ...item,\r\n material: false\r\n };\r\n }\r\n\r\n return item;\r\n }),\r\n article: state.article && uncheckIds.includes(state.article.id) ? {\r\n ...state.article,\r\n material: false\r\n } : state.article\r\n };\r\n};\r\n\r\nconst setSelectedFilters = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n selectedFilters: payload ? payload as IFilter[] : []\r\n };\r\n};\r\nconst setShareTemplates = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n shareTemplates: payload as IShareTemplate[]\r\n };\r\n};\r\nconst setSendMaterialsStatus = ({\r\n state,\r\n payload\r\n}: IContentActionHandler): IContentInitialState => {\r\n return {\r\n ...state,\r\n sendMaterialsStatus: payload as boolean\r\n };\r\n};\r\n\r\nconst statusReducerHandlers = new Map([\r\n [CONTENT_LOADED, setContent],\r\n [FILTER_LOADED, setFilters],\r\n [CLEAR_SELECTED_FILTERS, setSelectedFilters],\r\n [BACKPACK_CONTENT_LOADED, setBackpackContent],\r\n [MATERIALS_CONTENT_LOADED, setMaterialsContent],\r\n [ARTICLE_LOADED, setArticle],\r\n [CHECK_FAVORITE, checkFavorite],\r\n [UNCHECK_FAVORITE, uncheckFavorite],\r\n [CHECK_MATERIAL, checkMaterial],\r\n [UNCHECK_MATERIAL, uncheckMaterial],\r\n [ARTICLE_LOADED, setArticle],\r\n [CLOSE_ARTICLE, closeArticle],\r\n [SET_SELECTED_FILTERS, setSelectedFilters],\r\n [SET_SHARE_TEMPLATES, setShareTemplates],\r\n [SET_SEND_MATERIALS_STATUS, setSendMaterialsStatus]\r\n]);\r\n\r\nconst contentReducer = (state = ContentInitialState, action: ContentActionsType): IContentInitialState => {\r\n const handler = statusReducerHandlers.get(action.type);\r\n\r\n return (handler && {\r\n ...handler({\r\n state,\r\n payload: action.payload\r\n })\r\n }) || {...state};\r\n};\r\n\r\nexport default contentReducer;\r\n","import {IAction} from 'redux/interface';\r\nimport {IFeedbackPayload} from './interfaces';\r\nimport {InferActionsTypes} from '../helpers';\r\n\r\nexport const UPLOADED_ATTACHMENT = 'UPLOADED_ATTACHMENT';\r\nexport const attachmentUploadedAction = (attach: IFeedbackPayload): IAction => ({\r\n type: UPLOADED_ATTACHMENT,\r\n payload: attach\r\n});\r\n\r\nexport const REMOVE_ATTACHMENT = 'REMOVE_ATTACHMENT';\r\nexport const removeAttachAction = (key: number): IAction => ({\r\n type: REMOVE_ATTACHMENT,\r\n payload: key\r\n});\r\nexport const CLEAR_ATTACHMENT = 'CLEAR_ATTACHMENT';\r\nexport const clearAttachAction = (): IAction => ({\r\n type: CLEAR_ATTACHMENT,\r\n payload: null\r\n});\r\n\r\nconst feedbackActions = {\r\n attachmentUploadedAction,\r\n removeAttachAction,\r\n clearAttachAction\r\n};\r\n\r\nexport type FeedbackActionsType = InferActionsTypes\r\n","import {IFeedbackActionHandler, IFeedbackInitialState, IFeedbackPayload} from './interfaces';\r\nimport {CLEAR_ATTACHMENT, FeedbackActionsType, REMOVE_ATTACHMENT, UPLOADED_ATTACHMENT} from './actions';\r\n\r\nconst ContentInitialState: IFeedbackInitialState = {};\r\n\r\nconst setAttachKey = ({\r\n state,\r\n payload\r\n}: IFeedbackActionHandler): IFeedbackInitialState => {\r\n const data = payload as IFeedbackPayload;\r\n\r\n return {\r\n ...state,\r\n [data.key]: data.attachKey\r\n };\r\n};\r\nconst removeAttachKey = ({\r\n state,\r\n payload\r\n}: IFeedbackActionHandler): IFeedbackInitialState => {\r\n const newSate = {...state};\r\n\r\n delete newSate[payload as string];\r\n\r\n return {...newSate};\r\n};\r\nconst clearAttach = (): IFeedbackInitialState => {\r\n return {};\r\n};\r\n\r\nconst statusReducerHandlers = new Map([\r\n [UPLOADED_ATTACHMENT, setAttachKey],\r\n [REMOVE_ATTACHMENT, removeAttachKey],\r\n [CLEAR_ATTACHMENT, clearAttach]\r\n]);\r\n\r\nconst feedbackReducer = (state = ContentInitialState, action: FeedbackActionsType): IFeedbackInitialState => {\r\n const handler = statusReducerHandlers.get(action.type);\r\n\r\n return (handler && {\r\n ...handler({\r\n state,\r\n payload: action.payload\r\n })\r\n }) || {...state};\r\n};\r\n\r\nexport default feedbackReducer;\r\n","import {IAction} from 'redux/interface';\r\nimport {IMediaPayload} from './interfaces';\r\nimport {InferActionsTypes} from '../helpers';\r\n\r\nexport const LOADED_MEDIA = 'LOADED_MEDIA';\r\nexport const mediaLoadedAction = (media: IMediaPayload): IAction => ({\r\n type: LOADED_MEDIA,\r\n payload: media\r\n});\r\n\r\nconst mediaActions = {\r\n mediaLoadedAction\r\n};\r\n\r\nexport type MediaActionsType = InferActionsTypes\r\n","import {IMediaActionHandler, IMediaInitialState} from './interfaces';\r\nimport {LOADED_MEDIA, MediaActionsType} from './actions';\r\n\r\nconst ContentInitialState: IMediaInitialState = {};\r\n\r\nconst setMediaKey = ({\r\n state,\r\n payload\r\n}: IMediaActionHandler): IMediaInitialState => {\r\n return {\r\n ...state,\r\n [payload.key]: payload.mediaUrl\r\n };\r\n};\r\n\r\nconst statusReducerHandlers = new Map([\r\n [LOADED_MEDIA, setMediaKey]\r\n]);\r\n\r\nconst mediaReducer = (state = ContentInitialState, action: MediaActionsType): IMediaInitialState => {\r\n const handler = statusReducerHandlers.get(action.type);\r\n\r\n return (handler && {\r\n ...handler({\r\n state,\r\n payload: action.payload\r\n })\r\n }) || {...state};\r\n};\r\n\r\nexport default mediaReducer;\r\n","import {applyMiddleware, combineReducers, createStore} from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport authReducer from './auth/reducer';\r\nimport {composeWithDevTools} from 'redux-devtools-extension';\r\nimport translationReducer from './translation/reducer';\r\nimport statusReducer from './status/reducer';\r\nimport contentReducer from './content/reducer';\r\nimport feedbackReducer from './feedback/reducer';\r\nimport mediaReducer from './media/reducer';\r\n\r\nexport const rootReducer = combineReducers({\r\n auth: authReducer,\r\n translation: translationReducer,\r\n status: statusReducer,\r\n content: contentReducer,\r\n feedback: feedbackReducer,\r\n media: mediaReducer\r\n});\r\n\r\nconst middleware = process.env.NODE_ENV === 'production'\r\n ? applyMiddleware(thunk)\r\n : composeWithDevTools(\r\n applyMiddleware(thunk)\r\n );\r\n\r\nconst store = createStore(\r\n rootReducer, {},\r\n middleware\r\n);\r\n\r\nexport default store;\r\n","import {IUser} from '../auth/interfaces';\r\nimport axios from 'axios';\r\n\r\nexport function setAxiosHeaders(user: IUser, token: string): void {\r\n axios.defaults.headers.common.Authorization = token;\r\n axios.defaults.headers.common.API_KEY = process.env.REACT_APP_API_KEY;\r\n axios.defaults.headers.common['Content-Type'] = 'application/json';\r\n axios.defaults.headers.post['Content-Type'] = 'application/json';\r\n if (user && user['https://clever.com']) {\r\n axios.defaults.headers.common.CLEVER_TOKEN = user['https://clever.com'].cleverToken;\r\n }\r\n}\r\n","import axios, {AxiosResponse} from 'axios';\r\nimport {IUserProfile} from '../auth/interfaces';\r\n\r\nexport const getUserProfileApi = (): Promise> => {\r\n return axios.get(`${process.env.REACT_APP_API_URL}/user/profile`);\r\n};\r\nexport const updateUserProfileApi = (profile: IUserProfile): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/user/profile/update`,\r\n profile\r\n );\r\n};\r\n","export enum ToastKey {\r\n GetUserData,\r\n GetBotAvatars,\r\n GetUserAvatars,\r\n UpdateUserProfileAction,\r\n LoadContentAction,\r\n GetLibFilters,\r\n LoadArticleAction,\r\n LoadMaterialsContentAction,\r\n AddFavorite,\r\n RemoveFavorite,\r\n AddMaterial,\r\n RemoveMaterial,\r\n LoadBackpackContentAction,\r\n LoadMaterialsTemplates,\r\n SendMaterialsAction,\r\n SaveJournalAction,\r\n UploadAttachAction,\r\n SendFeedbackAction,\r\n JoinNewsletterAction,\r\n LoadTranslation,\r\n ChangeLocale,\r\n GetToken,\r\n FetchMedia,\r\n GetBotList,\r\n GetMainDialog,\r\n SetDialogLanguage,\r\n GetXpeditionList,\r\n StartXpedition,\r\n StartInterview\r\n}\r\n","import axios, {AxiosResponse} from 'axios';\r\nimport {IAvatar} from '../auth/interfaces';\r\n\r\nexport const getAvatarsApi = (mode: 'USER' | 'BOT'): Promise> => {\r\n return axios.get(`${process.env.REACT_APP_API_URL}/media/avatars/${mode}`);\r\n};\r\nexport const getMediaUrlApi = (fileId: number, isMain = false): Promise> => {\r\n return axios.get<{ value: string }>(`${process.env.REACT_APP_API_URL}/media/download/${fileId}/${isMain}`);\r\n};\r\n","import {Action} from 'redux';\r\nimport {ThunkAction} from 'redux-thunk';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {clearErrorAction, finishLoadingAction, setErrorAction, startLoadingAction} from 'redux/status/actions';\r\nimport {getMediaUrlApi} from '../api/media';\r\nimport {mediaLoadedAction} from './actions';\r\n\r\nexport const loadMediaAction = (fileId: number, callback?: (url: string) => void): ThunkAction => (async (dispatch) => {\r\n const actionKey = fileId?.toString();\r\n\r\n dispatch(startLoadingAction(actionKey));\r\n dispatch(clearErrorAction(actionKey));\r\n try {\r\n const {data: {value: fileUrl} } = await getMediaUrlApi(fileId);\r\n\r\n dispatch(mediaLoadedAction({\r\n mediaUrl: fileUrl,\r\n key: fileId\r\n }));\r\n if (callback) {\r\n callback(fileUrl);\r\n }\r\n dispatch(finishLoadingAction(actionKey));\r\n } catch (e) {\r\n console.log('loadMediaAction', e);\r\n dispatch(setErrorAction({\r\n key: actionKey,\r\n value: e\r\n }));\r\n dispatch(finishLoadingAction(actionKey));\r\n }\r\n});\r\n","export default __webpack_public_path__ + \"static/media/error-icon.5349a9fb.svg\";","import React from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport ErrorIcon from 'assets/image/toasts/error-icon.svg';\r\nimport {GritxToastOptions} from './GritxToastOptions';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport './styles.scss';\r\n\r\ninterface IGritxToast {\r\n options: GritxToastOptions;\r\n}\r\n\r\nexport const GritxToast: React.FunctionComponent = ({options}: IGritxToast) => {\r\n function refreshPage() {\r\n window.location.reload();\r\n }\r\n\r\n return
\r\n \"ErrorIcon\"/\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n {options.showReloadButton ? \r\n \r\n : null}\r\n
\r\n
;\r\n};\r\n","import {GritxToastOptions} from './GritxToastOptions';\r\nimport {ToastKey} from './ToastKeyEnum';\r\n\r\nconst toastOptionsMap: Record = {\r\n [ToastKey.GetUserData]:\r\n {title: 'gritx.toasts.auth.wrongUserUpdate', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.GetBotAvatars]:\r\n {title: 'gritx.toasts.auth.wrongBotAvatar', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.GetUserAvatars]:\r\n {title: 'gritx.toasts.auth.wrongUserAvatar', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.UpdateUserProfileAction]:\r\n {title: 'gritx.toasts.auth.wrongProfileUpdate', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.LoadContentAction]:\r\n {title: 'gritx.toasts.wrongLoadContent', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.GetLibFilters]:\r\n {title: 'gritx.toasts.wrongLoadContent', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.LoadArticleAction]:\r\n {title: 'gritx.toasts.wrongLoadContent', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.LoadMaterialsContentAction]:\r\n {title: 'gritx.toasts.wrongLoadContent', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.AddFavorite]:\r\n {title: 'gritx.toasts.content.wrongAddFavoriteCard', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.RemoveFavorite]:\r\n {title: 'gritx.toasts.content.wrongRemoveFavoriteCard', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.AddMaterial]:\r\n {title: 'gritx.toasts.content.wrongNotAbleCard', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.RemoveMaterial]:\r\n {title: 'gritx.toasts.content.wrongRemoveCard', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.LoadBackpackContentAction]:\r\n {title: 'gritx.toasts.content.wrongLoadBackpack', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.LoadMaterialsTemplates]:\r\n {title: 'gritx.toasts.wrongLoadContent', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.SendMaterialsAction]:\r\n {title: 'gritx.toasts.wrongCompleteAction', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.SaveJournalAction]:\r\n {title: 'gritx.toasts.wrongCompleteAction', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.UploadAttachAction]:\r\n {title: 'gritx.toasts.wrongCompleteAction', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.SendFeedbackAction]:\r\n {title: 'gritx.toasts.wrongCompleteAction', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.JoinNewsletterAction]:\r\n {title: 'gritx.toasts.wrongCompleteAction', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.LoadTranslation]:\r\n {title: 'gritx.toasts.translation.wrongLoad', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.ChangeLocale]:\r\n {title: 'gritx.toasts.translation.wrongChange', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.GetToken]:\r\n {title: 'gritx.toasts.chatBot.wrongSomething', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.FetchMedia]:\r\n {title: 'gritx.toasts.wrongLoadContent', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.GetBotList]:\r\n {title: 'gritx.toasts.chatBot.wrongSomething', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.GetMainDialog]:\r\n {title: 'gritx.toasts.wrongLoadContent', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.SetDialogLanguage]:\r\n {title: 'gritx.toasts.chatBot.wrongLanguageChange', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.GetXpeditionList]:\r\n {title: 'gritx.toasts.wrongLoadContent', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.StartXpedition]:\r\n {title: 'gritx.toasts.wrongCompleteAction', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true},\r\n [ToastKey.StartInterview]:\r\n {title: 'gritx.toasts.wrongCompleteAction', description: 'gritx.toasts.descriptionUpdate', showReloadButton: true}\r\n};\r\n\r\nexport const getToastOption = (key: ToastKey): GritxToastOptions => toastOptionsMap[key];\r\n","import React from 'react';\r\nimport {AxiosError} from 'axios';\r\nimport {Action} from 'redux';\r\nimport {ThunkAction} from 'redux-thunk';\r\nimport {toast} from 'react-toastify';\r\n\r\nimport {IStore} from './interface';\r\nimport {finishLoadingAction, setErrorAction} from './status/actions';\r\n\r\nimport {GritxToast} from 'components/gritx-toast/GritxToast';\r\nimport {ToastKey} from 'components/gritx-toast/ToastKeyEnum';\r\nimport {getToastOption} from 'components/gritx-toast/ToastMessageConfig';\r\n\r\ninterface IErrorHandler {\r\n actionKey: string\r\n toastKey: ToastKey\r\n error: AxiosError,\r\n currentAction?: ThunkAction\r\n}\r\n\r\nexport const errorHandler = ({\r\n actionKey,\r\n toastKey,\r\n error,\r\n currentAction\r\n}: IErrorHandler): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n auth: {auth0Client},\r\n status: {errors}\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n\r\n function setError() {\r\n const option = getToastOption(toastKey);\r\n\r\n toast.error();\r\n\r\n dispatch(setErrorAction({\r\n key: actionKey,\r\n value: error\r\n }));\r\n dispatch(finishLoadingAction(actionKey));\r\n }\r\n\r\n setError();\r\n\r\n if (error.isAxiosError) {\r\n if (error.response) {\r\n console.log('axios response error');\r\n // todo handle 401\r\n // if (error.response.status === 401 && isAuthenticated) {\r\n // window.location.reload();\r\n // if (!errors[actionKey] || errors[actionKey]?.count <= 5) {\r\n // setTimeout(() => {\r\n // dispatch(currentAction);\r\n // }, 1000);\r\n // } else {\r\n // auth0Client.logout();\r\n // }\r\n // }\r\n }\r\n if (error.request) {\r\n console.log('axios request error');\r\n }\r\n } else {\r\n console.log('no axios error');\r\n }\r\n});\r\n","import axios, {AxiosResponse} from 'axios';\r\nimport {IArticle, IArticleCard, IFilter, ILibraryFiltersResponse, ILibraryResponse, ISendMaterials, IShareTemplate} from '../content/interfaces';\r\n\r\nexport const filterContentApi = (filters: {\r\n filter: {\r\n type: 'SIMPLE' | 'EXTENDED',\r\n filters: IFilter[]\r\n },\r\n lang: string,\r\n offset: number,\r\n limit: number\r\n}): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/content/filter`,\r\n filters\r\n );\r\n};\r\n\r\nexport const getLibFiltersApi = (filterType: 'SIMPLE' | 'EXTENDED', language: string): Promise> => {\r\n return axios.get(`${process.env.REACT_APP_API_URL}/content/filter/${filterType}`, {\r\n params: {\r\n language\r\n }\r\n });\r\n};\r\n\r\nexport const getArticleApi = (id: string, language: string): Promise> => {\r\n return axios.get(`${process.env.REACT_APP_API_URL}/content/${id}`, {\r\n params: {\r\n language\r\n }\r\n });\r\n};\r\n\r\nexport const getMaterialsApi = (locale: string): Promise> => {\r\n return axios.get(\r\n `${process.env.REACT_APP_API_URL}/materials/list`,\r\n {\r\n params: {\r\n language: locale\r\n }\r\n }\r\n );\r\n};\r\n\r\nexport const getFavoritesApi = (locale: string): Promise> => {\r\n return axios.get(\r\n `${process.env.REACT_APP_API_URL}/content/favorite/list`,\r\n {\r\n params: {\r\n language: locale\r\n }\r\n }\r\n );\r\n};\r\n\r\nexport const addFavoriteApi = (cardId: number): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/content/favorite/add`,\r\n cardId.toString()\r\n );\r\n};\r\n\r\nexport const removeFavoriteApi = (cardId: number): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/content/favorite/remove`,\r\n cardId.toString()\r\n );\r\n};\r\n\r\nexport const addMaterialApi = (data: {\r\n contentId: number,\r\n language: string,\r\n comments: string\r\n}): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/materials/add`,\r\n data\r\n );\r\n};\r\n\r\nexport const removeMaterialApi = (contentIds: number[]): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/materials/remove`,\r\n contentIds\r\n );\r\n};\r\n\r\nexport const getTemplatesApi = (locale: string): Promise> => {\r\n return axios.get(\r\n `${process.env.REACT_APP_API_URL}/templates/list`,\r\n {\r\n params: {\r\n language: locale\r\n }\r\n }\r\n );\r\n};\r\n\r\nexport const shareMaterialsApi = (data: {\r\n materials: ISendMaterials,\r\n contentLang: string\r\n}): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/materials/share`,\r\n {\r\n ...data.materials,\r\n contentLang: data.contentLang\r\n }\r\n );\r\n};\r\n\r\nexport const saveJournalApi = (journal: IArticle): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/content/journal/save`,\r\n {\r\n content: journal\r\n }\r\n );\r\n};\r\n","import {ThunkAction} from 'redux-thunk';\r\nimport {Action} from 'redux';\r\nimport {IStore} from 'redux/interface';\r\nimport {\r\n getArticle,\r\n getBackpackContent,\r\n getLibContent,\r\n getLibFilters,\r\n getMaterialsContent,\r\n getTemplates,\r\n saveJournal,\r\n sendMaterials\r\n} from 'redux/pageAsyncActions';\r\nimport {clearErrorAction, finishLoadingAction, startLoadingAction} from 'redux/status/actions';\r\nimport {IArticle, IGetLibData, ISendMaterials} from './interfaces';\r\nimport {errorHandler} from 'redux/errorHandler';\r\nimport {\r\n articleLoadedAction,\r\n backpackLoadedAction,\r\n checkFavoriteAction,\r\n checkMaterialAction,\r\n contentLoadedAction,\r\n libFiltersLoadedAction,\r\n materialsLoadedAction,\r\n setSendMaterialsStatus,\r\n setShareTemplates,\r\n uncheckFavoriteAction,\r\n uncheckMaterialAction\r\n} from './actions';\r\nimport {\r\n addFavoriteApi,\r\n addMaterialApi,\r\n filterContentApi,\r\n getArticleApi, getFavoritesApi,\r\n getLibFiltersApi,\r\n getMaterialsApi, getTemplatesApi,\r\n removeFavoriteApi,\r\n removeMaterialApi, saveJournalApi, shareMaterialsApi\r\n} from 'redux/api/content';\r\nimport {SystemLanguage} from 'utils/constants/constants';\r\n\r\nimport {ToastKey} from 'components/gritx-toast/ToastKeyEnum';\r\n\r\nexport const loadLibContentAction = ({\r\n filters,\r\n offset,\r\n pageSize\r\n}: IGetLibData): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n auth: {auth0Client},\r\n translation: {locale}\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n const actionKey = getLibContent;\r\n\r\n if (isAuthenticated) {\r\n dispatch(startLoadingAction(actionKey));\r\n\r\n try {\r\n const {data} = await filterContentApi(\r\n {\r\n filter: {\r\n type: 'SIMPLE', // todo add to constants\r\n filters: filters\r\n .filter(filter => filter.inputValue.length !== 0)\r\n .map((filter) => {\r\n return {\r\n ...filter,\r\n inputValue: typeof filter.inputValue === 'string' ? filter.inputValue : filter.inputValue.join(',')\r\n };\r\n })\r\n },\r\n lang: locale,\r\n offset,\r\n limit: pageSize\r\n }\r\n );\r\n\r\n dispatch(clearErrorAction(actionKey));\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(contentLoadedAction(data));\r\n } catch (e) {\r\n console.log('loadContentAction', e.message);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.LoadContentAction,\r\n actionKey,\r\n error: e,\r\n currentAction: loadLibContentAction({\r\n filters,\r\n offset,\r\n pageSize\r\n })\r\n }));\r\n }\r\n }\r\n});\r\nexport const loadLibFiltersAction = (): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n auth: {\r\n auth0Client,\r\n userProfile\r\n }\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n const actionKey = getLibFilters;\r\n const filterType = 'SIMPLE';\r\n\r\n if (isAuthenticated) {\r\n dispatch(startLoadingAction(actionKey));\r\n\r\n try {\r\n const {data} = await getLibFiltersApi(filterType, userProfile?.language || SystemLanguage.English);\r\n\r\n dispatch(clearErrorAction(actionKey));\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(libFiltersLoadedAction(data));\r\n } catch (e) {\r\n console.log('getLibFilters', e.message);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.GetLibFilters,\r\n actionKey,\r\n error: e,\r\n currentAction: loadLibFiltersAction()\r\n }));\r\n }\r\n }\r\n});\r\nexport const loadArticleAction = (id: string): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n auth: {\r\n auth0Client,\r\n userProfile\r\n }\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n const actionKey = getArticle;\r\n\r\n if (isAuthenticated) {\r\n dispatch(startLoadingAction(actionKey));\r\n\r\n try {\r\n const {data} = await getArticleApi(id, userProfile?.language || SystemLanguage.English);\r\n\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(clearErrorAction(actionKey));\r\n\r\n dispatch(articleLoadedAction(data));\r\n } catch (e) {\r\n console.log('loadArticleAction', e.message);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.LoadArticleAction,\r\n actionKey,\r\n error: e,\r\n currentAction: loadArticleAction(id)\r\n }));\r\n }\r\n }\r\n});\r\nexport const loadMaterialsContentAction = (): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n translation: {locale},\r\n auth: {auth0Client}\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n const actionKey = getMaterialsContent;\r\n\r\n if (isAuthenticated) {\r\n dispatch(startLoadingAction(actionKey));\r\n try {\r\n const {data} = await getMaterialsApi(locale);\r\n\r\n dispatch(clearErrorAction(actionKey));\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(materialsLoadedAction(data));\r\n } catch (e) {\r\n console.log('loadMaterialsContentAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.LoadMaterialsContentAction,\r\n actionKey,\r\n error: e,\r\n currentAction: loadMaterialsContentAction()\r\n }));\r\n }\r\n }\r\n});\r\nexport const addFavoriteCardAction = (cardId: number): ThunkAction => (async (dispatch, getState) => {\r\n const {auth: {auth0Client} } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n\r\n if (isAuthenticated) {\r\n try {\r\n await addFavoriteApi(cardId);\r\n dispatch(checkFavoriteAction(cardId));\r\n } catch (e) {\r\n console.log('addFavoriteCardAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.AddFavorite,\r\n actionKey: 'addFavorite',\r\n error: e,\r\n currentAction: addFavoriteCardAction(cardId)\r\n }));\r\n }\r\n }\r\n});\r\nexport const removeFavoriteCardAction = (cardId: number): ThunkAction => (async (dispatch, getState) => {\r\n const {auth: {auth0Client} } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n\r\n if (isAuthenticated) {\r\n try {\r\n await removeFavoriteApi(cardId);\r\n\r\n dispatch(uncheckFavoriteAction(cardId));\r\n } catch (e) {\r\n console.log('removeFavoriteCardAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.RemoveFavorite,\r\n actionKey: 'removeFavorite',\r\n error: e,\r\n currentAction: removeFavoriteCardAction(cardId)\r\n }));\r\n }\r\n }\r\n});\r\nexport const addMaterialAction = (contentId: number): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n translation: {locale},\r\n auth: {auth0Client}\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n\r\n if (isAuthenticated) {\r\n try {\r\n await addMaterialApi({\r\n contentId: contentId,\r\n language: locale,\r\n comments: ''\r\n });\r\n dispatch(checkMaterialAction(contentId));\r\n } catch (e) {\r\n console.log('addToMaterialAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.AddMaterial,\r\n actionKey: 'addMaterial',\r\n error: e,\r\n currentAction: addMaterialAction(contentId)\r\n }));\r\n }\r\n }\r\n});\r\nexport const removeMaterialAction = (contentIds: number[], isAll?: boolean): ThunkAction => (async (dispatch, getState) => {\r\n const {auth: {auth0Client} } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n\r\n if (isAuthenticated) {\r\n try {\r\n await removeMaterialApi(contentIds);\r\n\r\n dispatch(uncheckMaterialAction(contentIds));\r\n if (isAll) {\r\n dispatch(loadMaterialsContentAction());\r\n }\r\n } catch (e) {\r\n console.log('removeMaterialAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.RemoveMaterial,\r\n actionKey: 'removeMaterial',\r\n error: e,\r\n currentAction: removeMaterialAction(contentIds)\r\n }));\r\n }\r\n }\r\n});\r\nexport const loadBackpackContentAction = (): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n translation: {locale},\r\n auth: {auth0Client}\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n const actionKey = getBackpackContent;\r\n\r\n if (isAuthenticated) {\r\n dispatch(startLoadingAction(actionKey));\r\n try {\r\n const {data} = await getFavoritesApi(locale);\r\n\r\n dispatch(clearErrorAction(actionKey));\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(backpackLoadedAction(data));\r\n } catch (e) {\r\n console.log('loadBackpackContentAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.LoadBackpackContentAction,\r\n actionKey,\r\n error: e,\r\n currentAction: loadBackpackContentAction()\r\n }));\r\n }\r\n }\r\n});\r\nexport const loadMaterialsTemplatesAction = (): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n translation: {locale},\r\n auth: {auth0Client}\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n const actionKey = getTemplates;\r\n\r\n if (isAuthenticated) {\r\n dispatch(startLoadingAction(actionKey));\r\n dispatch(clearErrorAction(actionKey));\r\n try {\r\n const {data} = await getTemplatesApi(locale);\r\n\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(setShareTemplates(data));\r\n } catch (e) {\r\n console.log('loadMaterialsTemplates', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.LoadMaterialsTemplates,\r\n actionKey,\r\n error: e\r\n }));\r\n }\r\n }\r\n});\r\n\r\nexport const sendMaterialsAction = (materials: ISendMaterials): ThunkAction => (async (dispatch, getState) => {\r\n const {\r\n translation: {locale},\r\n auth: {auth0Client}\r\n } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n const actionKey = sendMaterials;\r\n\r\n if (isAuthenticated) {\r\n dispatch(startLoadingAction(actionKey));\r\n dispatch(clearErrorAction(actionKey));\r\n try {\r\n await shareMaterialsApi({\r\n materials,\r\n contentLang: locale\r\n });\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(setSendMaterialsStatus(true));\r\n } catch (e) {\r\n console.log('sendMaterialsAction', e);\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(setSendMaterialsStatus(true));\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.SendMaterialsAction,\r\n actionKey,\r\n error: e\r\n }));\r\n }\r\n }\r\n});\r\n\r\nexport const saveJournalAction = (journal: IArticle): ThunkAction => (async (dispatch, getState) => {\r\n const {auth: {auth0Client} } = getState();\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n const actionKey = saveJournal;\r\n\r\n if (isAuthenticated) {\r\n dispatch(startLoadingAction(actionKey));\r\n dispatch(clearErrorAction(actionKey));\r\n try {\r\n await saveJournalApi(journal);\r\n dispatch(loadArticleAction(journal.id.toString()));\r\n dispatch(finishLoadingAction(actionKey));\r\n } catch (e) {\r\n console.log('saveJournalAction', e);\r\n dispatch(finishLoadingAction(actionKey));\r\n\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.SaveJournalAction,\r\n actionKey,\r\n error: e\r\n }));\r\n }\r\n }\r\n});\r\n","import {\r\n loadArticleAction,\r\n loadBackpackContentAction,\r\n loadLibContentAction,\r\n loadLibFiltersAction,\r\n loadMaterialsContentAction,\r\n loadMaterialsTemplatesAction, saveJournalAction,\r\n sendMaterialsAction\r\n} from './content/contentAsyncActions';\r\n\r\nexport const getTranslations = 'GET_TRANSLATIONS';\r\nexport const getLibFilters = 'GET_LIBRARY_FILTERS';\r\nexport const getLibContent = 'GET_LIBRARY_CONTENT';\r\nexport const getBackpackContent = 'GET_BACKPACK_CONTENT';\r\nexport const getMaterialsContent = 'GET_MATERIALS_CONTENT';\r\nexport const getArticle = 'GET_ARTICLE';\r\nexport const sendFeedback = 'SEND_FEEDBACK';\r\nexport const getTemplates = 'GET_TEMPLATES';\r\nexport const sendMaterials = 'SEND_MATERIALS';\r\nexport const saveJournal = 'SAVE_JOURNAL';\r\n\r\nexport const libraryAsyncActions = {\r\n [getLibFilters]: loadLibFiltersAction,\r\n [getLibContent]: loadLibContentAction\r\n};\r\n\r\nexport const backpackAsyncActions = {\r\n [getBackpackContent]: loadBackpackContentAction\r\n};\r\n\r\nexport const materialsAsyncActions = {\r\n [getMaterialsContent]: loadMaterialsContentAction,\r\n [getTemplates]: loadMaterialsTemplatesAction,\r\n [sendMaterials]: sendMaterialsAction\r\n};\r\n\r\nexport const contentAsyncActions = {\r\n [getArticle]: loadArticleAction,\r\n [saveJournal]: saveJournalAction\r\n};\r\n\r\nexport const chatAsyncActions = {\r\n [getArticle]: loadArticleAction\r\n};\r\n","import axios from 'axios';\r\nimport {Action} from 'redux';\r\nimport {ThunkAction} from 'redux-thunk';\r\nimport {IStore} from 'redux/interface';\r\nimport {finishLoadingAction, startLoadingAction} from 'redux/status/actions';\r\nimport {getTranslations} from 'redux/pageAsyncActions';\r\nimport {errorHandler} from 'redux/errorHandler';\r\nimport {changeLocaleAction, updateTranslationsAction} from './actions';\r\nimport {ToastKey} from 'components/gritx-toast/ToastKeyEnum';\r\nimport {ITranslation} from './interfaces';\r\nimport {SystemLanguage} from 'utils/constants/constants';\r\n\r\nfunction fixedTranslations(translations: ITranslation, locale: string): ITranslation {\r\n// todo remove after updating translations\r\n if (process.env.REACT_APP_HIDE_TRANSLATION_PREFIX === 'true' && locale !== SystemLanguage.English) {\r\n return Object.keys(translations)\r\n .reduce((tr, key: string) => {\r\n if (translations[key].trim().slice(0, 3)\r\n .toLowerCase()\r\n .includes(`${locale} `)) {\r\n return {\r\n ...tr,\r\n [key]: translations[key].slice(3)\r\n };\r\n }\r\n\r\n return {\r\n ...tr,\r\n [key]: translations[key]\r\n };\r\n }, {});\r\n }\r\n\r\n return translations;\r\n}\r\n\r\nexport const loadTranslation = (translationKey: string): ThunkAction => {\r\n return (dispatch, getState) => {\r\n const {translation: {locale} } = getState();\r\n\r\n dispatch(startLoadingAction(getTranslations));\r\n\r\n axios.get(`/lang/${locale}/${translationKey}.json`)\r\n .then(({data}) => {\r\n dispatch(updateTranslationsAction({\r\n locale,\r\n translationKey,\r\n translations: fixedTranslations(data, locale)\r\n }));\r\n dispatch(finishLoadingAction(getTranslations));\r\n })\r\n .catch((e) => {\r\n console.log('loadTranslation', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.LoadTranslation,\r\n actionKey: 'loadTranslation',\r\n error: e,\r\n currentAction: loadTranslation(translationKey)\r\n }));\r\n });\r\n };\r\n};\r\nexport const changeLocale = (locale: string): ThunkAction => (dispatch, getState) => {\r\n const {\r\n translations,\r\n translationKeys\r\n } = getState().translation;\r\n\r\n const keysForFetch = translationKeys.reduce((acc: string[], key) => {\r\n if (Object.keys(translations[locale])\r\n .find((translationKey: string): boolean => translationKey.includes(key))) {\r\n return acc;\r\n }\r\n\r\n return [...acc, key];\r\n }, []);\r\n\r\n if (keysForFetch.length) {\r\n dispatch(startLoadingAction(getTranslations));\r\n Promise.all(keysForFetch.map((key) => axios.get(`/lang/${locale}/${key}.json`)))\r\n .then((results) => {\r\n dispatch(updateTranslationsAction({\r\n locale,\r\n translations: results.map(response => response.data)\r\n .reduce((acc, data) => {\r\n return {...acc, ...fixedTranslations(data, locale)};\r\n }, {})\r\n }));\r\n dispatch(changeLocaleAction(locale));\r\n dispatch(finishLoadingAction(getTranslations));\r\n })\r\n .catch((e) => {\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.ChangeLocale,\r\n actionKey: 'changeLocale',\r\n error: e,\r\n currentAction: loadTranslation(locale)\r\n }));\r\n });\r\n } else {\r\n dispatch(changeLocaleAction(locale));\r\n }\r\n};\r\n","export enum Routes {\r\n Home = '/',\r\n Logout = '/logout',\r\n Library = '/library',\r\n Materials = '/materials',\r\n Backpack = '/backpack',\r\n Chat = '/chat',\r\n Xpedition = '/xpedition',\r\n Settings = '/settings',\r\n Content = '/content',\r\n Callback = '/callback',\r\n}\r\n\r\nexport enum TranslationKeys {\r\n Library = 'library',\r\n Materials = 'materials',\r\n Backpack = 'backpack',\r\n Chat = 'chat',\r\n Settings = 'user-settings',\r\n Content = 'content-page',\r\n Error = 'error',\r\n Footer = 'footer',\r\n Common = 'common',\r\n Home = 'home',\r\n Toasts = 'toasts'\r\n}\r\n\r\nexport const firstAuthorizedRoute = Routes.Chat;\r\n\r\nexport const routeTranslationKeys: { [key: string]: string } = {\r\n [Routes.Library]: TranslationKeys.Library,\r\n [Routes.Materials]: TranslationKeys.Materials,\r\n [Routes.Backpack]: TranslationKeys.Backpack,\r\n [Routes.Chat]: TranslationKeys.Chat,\r\n [Routes.Xpedition]: TranslationKeys.Chat,\r\n [Routes.Settings]: TranslationKeys.Settings,\r\n [Routes.Content]: TranslationKeys.Content\r\n};\r\n","import {ThunkAction, ThunkDispatch} from 'redux-thunk';\r\nimport {IStore} from 'redux/interface';\r\nimport {Action} from 'redux';\r\nimport {Auth0Client} from '@auth0/auth0-spa-js';\r\nimport {IUser, IUserProfile} from './interfaces';\r\nimport {\r\n clearUserAction, finishAuthorizationAction, loginErrorActionClear,\r\n loginErrorActionSet,\r\n setBotAvatarsAction,\r\n setUserAction, setUserAvatarsAction,\r\n setUserLanguageAction, updateBotAvatarAction, updateUserAvatarAction\r\n} from './actions';\r\nimport {setAxiosHeaders} from 'redux/api/helpers';\r\nimport {getUserProfileApi, updateUserProfileApi} from 'redux/api/user';\r\nimport {getAvatarsApi} from 'redux/api/media';\r\nimport {loadMediaAction} from 'redux/media/mediaAsyncActions';\r\nimport {errorHandler} from 'redux/errorHandler';\r\nimport {changeLocale} from '../translation/translationAsyncActions';\r\nimport {ToastKey} from 'components/gritx-toast/ToastKeyEnum';\r\n\r\nconst loginErrorHandler = async ({\r\n dispatch,\r\n auth0Client\r\n}: { dispatch: ThunkDispatch, auth0Client: Auth0Client }) => {\r\n try {\r\n await auth0Client.logout();\r\n } catch (e) {\r\n console.log('loginErrorHandler', e);\r\n }\r\n dispatch(loginErrorActionSet());\r\n};\r\n\r\nexport const startLoginAction = (appRedirectUri?: string): ThunkAction => async (dispatch, getState) => {\r\n const {auth: {auth0Client} } = getState();\r\n\r\n dispatch(loginErrorActionClear());\r\n try {\r\n let queryString = '';\r\n\r\n if (appRedirectUri) {\r\n const searchParams = new URLSearchParams();\r\n\r\n searchParams.append('appRedirectUri', appRedirectUri);\r\n queryString = searchParams.toString();\r\n }\r\n\r\n await auth0Client.loginWithRedirect({\r\n redirect_uri: `${window.location.origin}/callback${queryString && `?${queryString}`}`\r\n });\r\n } catch (e) {\r\n console.log('startLogin error', e.message);\r\n await loginErrorHandler({\r\n dispatch,\r\n auth0Client\r\n });\r\n }\r\n};\r\n\r\nexport const getUserData = (): ThunkAction => async (dispatch) => {\r\n try {\r\n const {data: userData} = await getUserProfileApi();\r\n\r\n if (userData?.userAvatarId) {\r\n dispatch(loadMediaAction(userData.userAvatarId));\r\n }\r\n\r\n if (userData?.dialogAvatarId) {\r\n dispatch(loadMediaAction(userData.dialogAvatarId));\r\n }\r\n\r\n if (userData?.language) {\r\n dispatch(changeLocale(userData.language));\r\n }\r\n\r\n dispatch(setUserLanguageAction(userData));\r\n } catch (e) {\r\n console.log('user error', e.message);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.GetUserData,\r\n actionKey: 'getUserData',\r\n error: e,\r\n currentAction: getUserData()\r\n }));\r\n }\r\n};\r\n\r\nexport const getBotAvatars = (): ThunkAction => async (dispatch, getState) => {\r\n try {\r\n const {data: botAvatars} = await getAvatarsApi('BOT');\r\n const {media} = getState();\r\n\r\n const updatedAvatars = botAvatars.map((avatar) => {\r\n if (!avatar.fileUrl) {\r\n return {\r\n ...avatar,\r\n fileUrl: media[avatar.fileId] || ''\r\n };\r\n }\r\n\r\n return avatar;\r\n });\r\n\r\n updatedAvatars.forEach((avatar) => {\r\n if (!avatar.fileUrl) {\r\n dispatch(loadMediaAction(\r\n avatar.fileId,\r\n (url: string) => dispatch(updateBotAvatarAction({\r\n ...avatar,\r\n fileUrl: url\r\n }))\r\n ));\r\n }\r\n });\r\n dispatch(setBotAvatarsAction(updatedAvatars));\r\n } catch (e) {\r\n console.log('user error', e.message);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.GetBotAvatars,\r\n actionKey: 'getBotAvatars',\r\n error: e\r\n }));\r\n }\r\n};\r\n\r\nexport const getUserAvatars = (): ThunkAction => async (dispatch, getState) => {\r\n try {\r\n const {data: userAvatars} = await getAvatarsApi('USER');\r\n const {media} = getState();\r\n\r\n const updatedAvatars = userAvatars.map((avatar) => {\r\n if (!avatar.fileUrl) {\r\n return {\r\n ...avatar,\r\n fileUrl: media[avatar.fileId] || ''\r\n };\r\n }\r\n\r\n return avatar;\r\n });\r\n\r\n updatedAvatars.forEach((avatar) => {\r\n if (!avatar.fileUrl) {\r\n dispatch(loadMediaAction(\r\n avatar.fileId,\r\n (url) => dispatch(updateUserAvatarAction({\r\n ...avatar,\r\n fileUrl: url\r\n }))\r\n ));\r\n }\r\n });\r\n\r\n dispatch(setUserAvatarsAction(updatedAvatars));\r\n } catch (e) {\r\n console.log('user error', e.message);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.GetUserAvatars,\r\n actionKey: 'getUserAvatars',\r\n error: e\r\n }));\r\n }\r\n};\r\n\r\nexport const updateUserProfileAction = (profile: IUserProfile): ThunkAction => async (dispatch) => {\r\n try {\r\n const {data} = await updateUserProfileApi(profile);\r\n\r\n dispatch(setUserLanguageAction(data));\r\n } catch (e) {\r\n console.log('updateUserProfileAction', e.message);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.UpdateUserProfileAction,\r\n actionKey: 'updateUserProfileAction',\r\n error: e\r\n }));\r\n }\r\n};\r\n\r\nexport const finishLoginAction = (): ThunkAction => async (dispatch, getState) => {\r\n const {auth: {auth0Client} } = getState();\r\n\r\n try {\r\n await auth0Client.handleRedirectCallback();\r\n const user = await auth0Client.getUser() as IUser;\r\n const token = await auth0Client.getTokenSilently();\r\n\r\n setAxiosHeaders(user, token);\r\n\r\n dispatch(loginErrorActionClear());\r\n dispatch(setUserAction(user));\r\n dispatch(getUserData());\r\n } catch (e) {\r\n console.log('finishLogin error', e.message);\r\n await loginErrorHandler({\r\n dispatch,\r\n auth0Client\r\n });\r\n }\r\n};\r\n\r\nexport const logoutAction = (): ThunkAction => async (dispatch, getState) => {\r\n const {auth: {auth0Client} } = getState();\r\n\r\n dispatch(loginErrorActionClear());\r\n\r\n try {\r\n await auth0Client.logout({\r\n returnTo: document.location.origin\r\n });\r\n dispatch(clearUserAction());\r\n } catch (e) {\r\n console.log('logoutAction error', e.message);\r\n await loginErrorHandler({\r\n dispatch,\r\n auth0Client\r\n });\r\n }\r\n};\r\n\r\nexport const getAuthorizationAction = (): ThunkAction => async (dispatch, getState) => {\r\n const {auth: {auth0Client} } = getState();\r\n\r\n dispatch(loginErrorActionClear());\r\n\r\n try {\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n\r\n if (isAuthenticated) {\r\n const user = await auth0Client.getUser() as IUser;\r\n const token = await auth0Client.getTokenSilently();\r\n\r\n setAxiosHeaders(user, token);\r\n dispatch(setUserAction(user as IUser));\r\n dispatch(getUserData());\r\n }\r\n dispatch(finishAuthorizationAction());\r\n } catch (e) {\r\n console.log('getAuthorizationAction error', e.message);\r\n await loginErrorHandler({\r\n dispatch,\r\n auth0Client\r\n });\r\n }\r\n};\r\n","var _defs, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBackpack(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"tab\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 80.45,\n height: 87.98,\n viewBox: \"0 0 80.45 87.98\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path\",\n transform: \"translate(-8.77 -0.29)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 8.77,\n y: 0.29,\n width: 80.45,\n height: 87.98,\n fill: \"none\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path-2\",\n transform: \"translate(-8.77 -0.29)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 8.77,\n y: 0.29,\n width: 80.45,\n height: 87.98,\n fill: \"none\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Vector_Smart_Object\",\n \"data-name\": \"Vector Smart Object\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip-path)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip-path-2)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.63,6.73a12.73,12.73,0,0,1,1.95.17,22.52,22.52,0,0,1,5.63,1.61,10.64,10.64,0,0,1,1.44.7,5,5,0,0,1,1.08.67c.06.07.15.06.23.06a2.3,2.3,0,0,1,1.43.6,11.13,11.13,0,0,1,2.86,3.36,24,24,0,0,1,2,4.46c.13.44.25.88.35,1.32a23.13,23.13,0,0,0,1.36,4,96.88,96.88,0,0,1,3.37,9.52c.91,3,1.63,6.11,2.38,9.18.61,2.5,1.11,5,1.66,7.52s1.09,5,1.63,7.53c.33,1.52.58,3,.85,4.57.32,1.8.73,3.58,1.13,5.35.08.33.16.65.21,1a7,7,0,0,1,0,1.65,1.71,1.71,0,0,1-.82,1.33,7.37,7.37,0,0,1-1.26.7,1.53,1.53,0,0,1-.67.12v1.08a36.67,36.67,0,0,1-.13,4.57,2,2,0,0,1-.17.73.8.8,0,0,1-.68.53,7.83,7.83,0,0,1-1.08.07c-.44,0-.65-.2-.64-.63,0-.77,0-1.55.11-2.32s0-1.49.15-2.24a13.33,13.33,0,0,0,.06-1.79s-.07,0-.09,0a20.35,20.35,0,0,1-3.4,2.73c-1.23.81-2.44,1.67-3.64,2.55A24.4,24.4,0,0,1,73,79.63c-.66.31-1.31.6-2,.86a.6.6,0,0,0-.41.46c-.19.72-.41,1.43-.67,2.13a5.33,5.33,0,0,1-3.06,3.14,25,25,0,0,1-4.54,1.52,14.15,14.15,0,0,1-2.25.3c-2.19.15-4.37.15-6.56.18-.45,0-.91,0-1.37,0a28.1,28.1,0,0,1-3.3-.2c-.47,0-1,0-1.41,0-1,0-2.08,0-3.12,0s-1.87-.11-2.81-.2c-.64-.07-1.3-.09-1.95-.1-1.55,0-3.1,0-4.65,0a32.86,32.86,0,0,1-3.3-.26c-.77-.09-1.54-.16-2.31-.23s-1.67-.19-2.51-.29c-1.36-.14-2.7-.41-4.06-.54a19.84,19.84,0,0,1-4.1-.74,15.78,15.78,0,0,1-2.93-1.33,4.86,4.86,0,0,1-1.29-1.1,12.11,12.11,0,0,1-2.65-5.9,19.25,19.25,0,0,1-.37-3.21A1.22,1.22,0,0,0,10.89,73a4.2,4.2,0,0,1-1.34-2.28A15.54,15.54,0,0,1,9,67.1c-.09-1.84-.2-3.67-.19-5.52,0-1.4.1-2.79.19-4.18s.14-2.47.27-3.69c.09-.9.23-1.8.35-2.71.18-1.23.43-2.46.7-3.66.1-.42.17-.85.26-1.28a8.7,8.7,0,0,1,.77-2.14c.09-.17.11-.35.22-.53a5.11,5.11,0,0,1,3.06-2.24c.36-.1.76-.15,1.14-.22.14,0,.21,0,.25-.2.47-2,1.19-3.87,1.8-5.82.84-2.66,1.78-5.27,2.66-7.93a53.87,53.87,0,0,1,5.35-11.83c.77-1.26,1.58-2.5,2.4-3.74q.43-.64.84-1.32a6.61,6.61,0,0,1,1.24-1.45A11.08,11.08,0,0,1,35,6.15a18.5,18.5,0,0,1,4.18-.6c1,0,2.13,0,3.2-.08s2.22-.07,3.32-.06a.35.35,0,0,0,.33-.12,9.39,9.39,0,0,1,2.56-2.22A21.46,21.46,0,0,1,53.13.92,8.33,8.33,0,0,1,55.78.3,4.49,4.49,0,0,1,59.5,1.78a3.26,3.26,0,0,1,.72,2.12,5.59,5.59,0,0,1-.47,2.38,1.16,1.16,0,0,0-.12.45M61.14,86c.08,0,.08,0,.1-.09a2.7,2.7,0,0,0,.31-.77,41.51,41.51,0,0,0,1.58-8.21c.07-.74.15-1.48.21-2.22q.16-1.64.3-3.27c.07-.93.08-1.88.18-2.81.15-1.57.21-3.15.29-4.72.06-1.13.06-2.27.2-3.4a8.33,8.33,0,0,0,0-1.32c0-.1,0-.2-.12-.24-.49-.14-.53-.53-.53-1,0-1,.08-1.94.15-2.9S64,53,64.15,52c.23-1.84.36-3.68.54-5.53.12-1.28.11-2.57.15-3.86.06-1.51.08-3,.12-4.53a39.45,39.45,0,0,0,0-4.07c-.09-1.36-.12-2.77-.13-4.15,0-2,0-3.9.21-5.85.1-1.06.12-2.13.21-3.19a33.71,33.71,0,0,0,.16-4.14,18.24,18.24,0,0,0-.61-4.47,4.22,4.22,0,0,0-1.45-2.37,11.28,11.28,0,0,0-2.15-1.32,6,6,0,0,0-2.54-.67,15.3,15.3,0,0,1-2-.17c-.88-.09-1.76-.21-2.63-.28-1.25-.1-2.47-.31-3.72-.4a1.59,1.59,0,0,0-1,.07A.34.34,0,0,1,48.83,7a.75.75,0,0,0-.5-.18c-.74,0-1.49-.14-2.23-.17a31.12,31.12,0,0,0-3.74,0c-1.06.08-2.11,0-3.16.09a17.39,17.39,0,0,0-4.05.66A9.93,9.93,0,0,0,31,9.78a4.93,4.93,0,0,0-.81,1c-.21.35-.44.74-.68,1.09a73,73,0,0,0-4.86,8.4c-.35.68-.64,1.38-.92,2.09C22.36,25.83,21.26,29.41,20,33c-.73,2.11-1.4,4.22-2.11,6.34-.17.54-.31,1.1-.46,1.65a.7.7,0,0,0,.38.11l2.06.24c.69.07,1.32.15,2,.17,2.11.06,4.23.08,6.35.25,1.73.14,3.46.07,5.19.17.9,0,1.8,0,2.7.1,1.68.11,3.36.26,5,.5a26,26,0,0,1,4,.8c1.68.52,3.37,1,5.07,1.41a4.21,4.21,0,0,1,1.87,1.11,3,3,0,0,1,.8,2.08,8.94,8.94,0,0,1,0,1.16c0,.93,0,1.86-.1,2.78-.14,1.52-.22,3-.39,4.55-.1.93-.2,1.87-.37,2.79-.29,1.51-.54,3-.8,4.53-.21,1.21-.4,2.43-.72,3.62-.67,2.42-1.51,4.77-2.38,7.12a6.27,6.27,0,0,1-1.26,2,16.58,16.58,0,0,1-2.54,2.19,2.25,2.25,0,0,1-1.19.44c-.43.05-.85.07-1.28.09a22.93,22.93,0,0,1-3-.06c-.65,0-1.3-.08-2-.12-1-.05-2.11-.14-3.16-.11S31.9,79,31,79a16.12,16.12,0,0,1-3.46-.35c-2.43-.52-4.86-1.06-7.27-1.64a24.61,24.61,0,0,1-6.71-2.37.2.2,0,0,0-.25,0,1.22,1.22,0,0,0,0,.27c.11.68.17,1.37.29,2a10.23,10.23,0,0,0,2.22,5,3.64,3.64,0,0,0,1.05.86,13,13,0,0,0,5.23,1.61c1,.09,2,.21,3,.35,1.19.19,2.38.36,3.58.46.87.09,1.74.15,2.6.26a39.68,39.68,0,0,0,5.55.35,59.9,59.9,0,0,1,6.14.23c1.06.1,2.11.12,3.2.12s2.11,0,3.16.06c.52,0,1.06.13,1.57.13,1.73,0,3.46,0,5.19,0s3.3,0,4.93-.2c.1,0,.17,0,.16-.15Zm4.53-35.84a1.06,1.06,0,0,0-.11.58c0,.27-.06.54-.1.82a.08.08,0,0,0,.06.09.09.09,0,0,0,.1,0,.09.09,0,0,0,0,0c0-.27.08-.55,0-.82a1,1,0,0,0,0-.58.36.36,0,0,1,.09-.48l.12-.85a.25.25,0,0,0-.15-.32h0v1c-.08.07,0,.14,0,.21a.35.35,0,0,1,0,.42ZM67,61c0,.12,0,.21.12.22,0-.06,0-.2-.13-.21a.94.94,0,0,0-.13-.43,32.09,32.09,0,0,0-1.64-3.06c0-.09-.06-.22-.22-.23a2.08,2.08,0,0,0,.06.86c.37.83.73,1.67,1.11,2.5l0,.11c0,.05.08.09.13.06.29-.19.46,0,.65.17ZM47,57.92a11.72,11.72,0,0,0,.28-1.76c0-.51.08-1,.12-1.53s0-1.16,0-1.74c0-.14-.06-.19-.2-.19h-.58c-.41,0-.38,0-.4.38,0,1-.19,2-.3,3s-.18,2.09-.21,3.14c0,.21.06.31.26.35l.24.06a.25.25,0,0,0,.35-.11.24.24,0,0,0,0-.08,7,7,0,0,0,.27-1A2,2,0,0,0,47,57.9ZM45.22,55a.6.6,0,0,0-.35,0c-.85,0-1.69.11-2.53.07s-1.91-.14-2.86-.23a40.46,40.46,0,0,1-4.11-.51c-1.26-.25-2.53-.44-3.8-.65-.77-.12-1.53-.27-2.3-.35-1.3-.12-2.62-.13-3.93-.28-.43-.05-.85-.06-1.28-.13s-.89-.19-1.34-.26c-1.31-.21-2.63-.4-3.93-.62s-2.52-.35-3.79-.45-2.79-.09-4.2-.13c-.16.94-.24,1.88-.31,2.82s-.1,1.62-.13,2.46c-.07,1.35-.16,2.7-.2,4.06-.07,2.11.08,4.22.21,6.33a17.63,17.63,0,0,0,.54,3.14,3.27,3.27,0,0,0,1.83,2.28c1.09.52,2.17,1.1,3.29,1.56a33.55,33.55,0,0,0,4.81,1.41c1.95.46,3.9.88,5.85,1.32a18.74,18.74,0,0,0,4.77.55,65.34,65.34,0,0,1,7.27.14c1.12.08,2.24.08,3.36.07A2.56,2.56,0,0,0,44,76.86c.27-.28.59-.49.88-.75a5.77,5.77,0,0,0,1.73-2.35c.52-1.4,1-2.81,1.48-4.22a26.81,26.81,0,0,0,1-3.42c.63-3.4,1.34-6.8,1.7-10.25a10,10,0,0,0,.12-1.34c-.71,0-1.35,0-2,0s-.61,0-.62.63a18.66,18.66,0,0,1-.45,3.32A6.38,6.38,0,0,1,47.35,60a.84.84,0,0,1-1.08.53h0a4.33,4.33,0,0,1-.87-.25.78.78,0,0,1-.59-.89,24.77,24.77,0,0,1,.24-3c.07-.47.12-1,.18-1.45Zm25.9-42.78a1.37,1.37,0,0,0,0,.19,28.86,28.86,0,0,1,1.36,8.14c.1,2.6.18,5.2.27,7.8,0,.56,0,1.11,0,1.66.07,1.46.2,2.91.13,4.36a1.4,1.4,0,0,0,.06.41c.17.77.37,1.53.51,2.3.49,2.67.82,5.36,1.18,8,.16,1.22.32,2.44.49,3.66l.42,3.08c.23,1.59.46,3.19.71,4.79.31,2.06.76,4.1,1.22,6.14.32,1.44.57,2.9,1,4.32a20.51,20.51,0,0,0,1,2.82,1.06,1.06,0,0,0,1,.66,1.93,1.93,0,0,1,.85.17c.13.06.22.07.32,0s.25-.21.16-.42a1.91,1.91,0,0,1-.18-.7.57.57,0,0,1,.21-.56A3.61,3.61,0,0,1,83,68.42c.62-.18,1.26-.3,1.9-.44s.93.09,1,.59a15.68,15.68,0,0,1,.43,2.27,1.49,1.49,0,0,0,.86-.14,1,1,0,0,0,.59-1.26l-.06-.12a2.13,2.13,0,0,1-.21-.58c-.08-.36-.15-.71-.23-1.06-.35-1.49-.7-3-1-4.5s-.48-2.77-.76-4.16c-.58-2.77-1.19-5.54-1.78-8.31-.92-4.33-1.88-8.66-3-13A96.43,96.43,0,0,0,76.62,25a34,34,0,0,1-1.4-3.81c-.22-.8-.36-1.62-.59-2.42a20.85,20.85,0,0,0-2.29-5,8,8,0,0,0-1.21-1.62ZM62.44,85.78l.13,0a20.58,20.58,0,0,0,4-1.43,3.22,3.22,0,0,0,1.68-1.87,33.41,33.41,0,0,0,1.24-4.29c.26-1.09.39-2.2.54-3.3a37,37,0,0,0,.41-5c0-2.11,0-4.22.1-6.33.07-1.7.1-3.4.18-5.1,0-.66,0-1.33.12-2,.11-1.11.16-2.23.21-3.34s0-1.91,0-2.87c0-3.66,0-7.31,0-11,0-.76,0-1.52,0-2.28,0-1.09.11-2.19.14-3.28,0-.84,0-1.68-.08-2.53s-.06-2-.07-3S71,26,71,24.88c0-2.26,0-4.52-.2-6.76,0-.35,0-.72-.09-1.06a34.41,34.41,0,0,0-1-4.61,3.69,3.69,0,0,0-1.43-2,.79.79,0,0,1-.22-.19c-.35-.49-1-.49-1.44-.7.17.49.41.92.53,1.41.18.72.38,1.44.51,2.18A29,29,0,0,1,68,17.49c0,1.37,0,2.74.07,4.11,0,1.88,0,3.77,0,5.65,0,2.26,0,4.51-.15,6.77-.1,1-.13,2.11-.21,3.19-.13,1.44-.2,2.89-.29,4.34s0,3.19-.28,4.77c-.1.7-.12,1.4-.21,2.1a38.48,38.48,0,0,0-.35,4.68c0,.84,0,1.69,0,2.53a9.88,9.88,0,0,1-.17,2,.39.39,0,0,0,.08.31c.2.35.38.7.59,1.05A24.27,24.27,0,0,1,68.36,62a1.38,1.38,0,0,1-.16,1.46,2.79,2.79,0,0,1-.8.65.59.59,0,0,1-.81-.14.35.35,0,0,0,0-.08,2.9,2.9,0,0,1-.25-.57,26.67,26.67,0,0,0-1.14-3.06c0-.06,0-.15-.14-.13A12.56,12.56,0,0,1,65,61.46c0,1.35,0,2.71,0,4.07,0,.35,0,.7,0,1.06l-.27,4.14c-.06,1-.12,1.9-.21,2.85-.15,1.58-.31,3.17-.48,4.74-.09.79-.18,1.57-.29,2.35a42.27,42.27,0,0,1-1,4.32c0,.19-.14.47-.2.77ZM44.77,51.4v0h3.28a12.32,12.32,0,0,0,2.84-.33.32.32,0,0,0,.29-.28,4,4,0,0,0-.1-1.42c-.08-.63-.35-1.22-.39-1.85a4.15,4.15,0,0,0-.14-.61.73.73,0,0,0-.4-.49,12.25,12.25,0,0,0-2.52-1A49.59,49.59,0,0,0,40.82,44c-1.79-.22-3.57-.39-5.37-.47-1.41-.06-2.85-.14-4.28-.13-.88,0-1.77,0-2.66-.09-1.21-.1-2.43-.17-3.64-.2a50.55,50.55,0,0,1-5.22-.27c-.86-.11-1.73-.22-2.59-.31a4.45,4.45,0,0,0-3.74,1.09,4.57,4.57,0,0,0-1.6,2.91.63.63,0,0,1-.06.27,4.16,4.16,0,0,0-.35,1.47c0,.16,0,.22.2.22a17.89,17.89,0,0,1,2.3.31c1,.16,1.95.38,2.93.56s1.7.23,2.55.33l3.92.47q1.71.21,3.42.39c.94.1,1.87.22,2.81.27,2.2.11,4.4.18,6.6.27,1.51.07,3,.16,4.53.22s2.8,0,4.2.08ZM71.59,76.84c.93-.36,1.8-.73,2.69-1a10.12,10.12,0,0,0,1.4-.59,30.36,30.36,0,0,0,4.53-3.08c.06,0,.19-.08.15-.2a2.25,2.25,0,0,1-2-1.29c-.09-.17-.18-.35-.25-.52a27.06,27.06,0,0,1-.91-2.67c-.35-1.13-.53-2.29-.79-3.43-.48-2.09-1-4.18-1.3-6.29-.22-1.31-.4-2.62-.59-3.94-.27-1.91-.55-3.82-.8-5.74s-.46-4-.7-6a3.41,3.41,0,0,0-.19-1.14c0,1.92,0,3.81,0,5.7,0,1.55,0,3.1,0,4.65.05,1.16,0,2.32-.09,3.49-.07,1.33-.21,2.67-.28,4-.08,1.65-.13,3.3-.17,4.93-.06,2.32-.1,4.65-.09,7a25.67,25.67,0,0,1-.31,3.71c-.12.79-.21,1.57-.31,2.42Zm-21.1-71L52.34,6,55,6.32a.3.3,0,0,0,.32-.13,3.27,3.27,0,0,0,.61-2c0-.25-.08-.35-.35-.37a1.63,1.63,0,0,0-.54,0,7.72,7.72,0,0,0-4.14,1.59c-.13.1-.26.22-.43.37ZM66.07,30.94c.19.12.32,0,.46,0a.55.55,0,0,1,.49.37.52.52,0,0,1-.35.47c-.09,0-.19.05-.28.08s-.2,0-.27.08a12.18,12.18,0,0,0,0,1.35c.29,0,.6,0,.86.21a33.7,33.7,0,0,0,.15-4.26,2.45,2.45,0,0,1-.88.28c-.17,0-.25.11-.24.31,0,.37,0,.75,0,1.08ZM42.16,52.56a2.53,2.53,0,0,1,0,1.39h1.69a3.42,3.42,0,0,1-.12-1.35c-.53,0-1-.11-1.57,0Zm-3.62,1.08a4.53,4.53,0,0,1-.13-1.1c0-.12,0-.17-.16-.17H37a1.59,1.59,0,0,1-.17,1.15,16.38,16.38,0,0,0,1.71.12Zm1.16-1.16a2.81,2.81,0,0,1,0,1.29,9.09,9.09,0,0,0,1.47.11A2.69,2.69,0,0,1,41,52.69c0-.12,0-.17-.16-.18a4.59,4.59,0,0,0-1.11,0ZM34.2,53l1.73.29a2.2,2.2,0,0,1-.19-.87c0-.1,0-.19-.17-.19-.35,0-.7-.08-1.07-.07-.13,0-.21,0-.2.19a2.5,2.5,0,0,1-.09.66ZM85.28,69.49a6,6,0,0,1-.11-.61c0-.22-.13-.25-.3-.2-.52.15-1.05.2-1.58.33a2.27,2.27,0,0,0-.71.27c-.29.2-.3.2-.11.55a1.2,1.2,0,0,1,.5-.29c.51-.13,1-.24,1.53-.35a.43.43,0,0,1,.48.16.26.26,0,0,0,.3.16ZM67.2,28.76V27.05a1.84,1.84,0,0,1-.87.35c-.09,0-.22,0-.22.19v1a1,1,0,0,1,1.09.14Zm-1-3.54c0,.31,0,.63-.07.94,0,.13,0,.23.18.18a1.05,1.05,0,0,1,.89.19V25.12c-.32.14-.66,0-1,.1Zm1-5.11a4.34,4.34,0,0,1-.43.1.23.23,0,0,0-.21.25c0,.42-.07.85-.12,1.35a.76.76,0,0,1,.76,0Zm-.1-3.74c0-.92-.18-1.76-.2-2.64,0-.14-.07-.18-.21-.18a.19.19,0,0,0-.19.24c0,.43.09.85.12,1.28s0,.74.07,1.11c0,.16.06.23.23.2h.18ZM67,34l-.35.17c-.12.05-.39,0-.45.13s0,.35,0,.53V35c0,.57,0,.57.62.65.12-.52.1-1.06.19-1.65Zm.17-14.44V17.38c-.16.1-.26,0-.4,0l-.1,2a1.5,1.5,0,0,1,.51.15ZM50,52.55a1.16,1.16,0,0,1,.19.44c0,.15-.07.34.05.43s.32,0,.48,0h.08c.19,0,.3,0,.31-.25s0-.35.07-.52-.1-.35-.35-.32a6.58,6.58,0,0,0-.81.19ZM25.6,52.11c.73.07,1.43.12,2.14.14,0-.27-.08-.41-.33-.44l-1.81-.17ZM24.55,52a1,1,0,0,1,0-.25c0-.22-.1-.29-.28-.31-.54-.06-1.09-.11-1.63-.18-.2,0-.19.08-.2.21s.07.17.17.19l.45.08a11.52,11.52,0,0,0,1.54.26ZM67.23,23c-.2.11-.35.28-.56.29s-.35.17-.35.4a1.19,1.19,0,0,0,0,.46,2.8,2.8,0,0,1,.91.1ZM12.32,50.6H13.8a.92.92,0,0,1-.05-.61l-1.23-.18a1.1,1.1,0,0,1-.18.79ZM66.21,38.14h.18c.22,0,.28,0,.29-.26s0-.6.06-.9a1.14,1.14,0,0,0,0-.52l-.25,0c-.2,0-.28,0-.27.23,0,.46,0,.93,0,1.44ZM31.68,52.69a10.11,10.11,0,0,0,1.45.2v-.14c-.11-.19,0-.49-.14-.6a1.58,1.58,0,0,0-.65,0c-.43,0-.43,0-.57.39a.49.49,0,0,1-.06.19ZM66.44,41l.16-2.05c-.43,0-.43,0-.45.37s0,.7,0,1.08a.49.49,0,0,0,.35.6h0ZM30.65,52.05c-.56,0-1.12,0-1.66-.09-.13,0-.21,0-.23.16s.07.18.19.19c.43,0,.85.11,1.28.15.15,0,.31.13.48,0ZM66.17,10.51c-.07-.14-.12-.27-.18-.41-.27-.57-.27-.57-.86-.44,0,0,0,0-.06.07.16.26.33.53.48.8a.28.28,0,0,0,.28.13.67.67,0,0,0,.36-.14Zm-17.81,43a2.16,2.16,0,0,0,.76,0,1.27,1.27,0,0,1,0-.86l-.76.09Zm-3.63-.87a1.77,1.77,0,0,1,.07,1.2c.54,0,.54,0,.57-.46v-.16c.08-.64.08-.64-.61-.58Zm-29.94-2,1.66.16c0-.26-.1-.31-.26-.35l-1.13-.22c-.18,0-.26,0-.27.17s0,.14,0,.24Zm51.64-9.35c-.18.13-.35.16-.35.38,0,.44,0,.88,0,1.32,0,.22.09.3.31.28,0-.64.06-1.29.12-2Zm0-30c-.44.13-.44.13-.32.56.06.25.13.51.18.76s.07.19.2.13.17,0,.22-.09Zm-45,40.19c0-.3-.14-.41-.39-.42A8.37,8.37,0,0,1,20,51c-.11,0-.22,0-.25.12s.1.15.17.16l1.52.26Zm-9.88-.92a1.14,1.14,0,0,1-.14-.75c0-.18-.09-.25-.25-.21a.17.17,0,0,0-.14.13c-.05.24-.17.52-.07.73s.4,0,.64.11ZM66.76,62.41a3.35,3.35,0,0,0,.35.8c.48-.35.53-.49.35-1-.2.37-.23.38-.67.22Zm-1.2-8.64c.08-1,0-1.14-.21-1.31a4.6,4.6,0,0,0-.11,1c0,.26,0,.26.35.34ZM66.32,44c-.24,0-.31.07-.31.25s0,.66,0,1c0,.08,0,.15.09.15s.12-.06.12-.13c.07-.42.11-.84.16-1.26Zm-49,6.87a9.85,9.85,0,0,0,1.23.19c.08,0,.13,0,.13-.11s0-.13-.11-.15l-1.11-.11c-.08,0-.11.06-.14.18M85.47,70a4.8,4.8,0,0,0-.55,1c.63-.11.77-.35.55-1ZM65.55,55.41V55c0-.33,0-.33-.35-.35-.14.59-.14.59.35.81Zm.32-8.09v.28c0,.06,0,.12.08.12s.09,0,.09-.1l.11-1.28c0-.07,0-.14-.11-.13s-.08.06-.08.12ZM65,8.85a10,10,0,0,0-1.11-.27c.35.29.63.63,1.1.26Zm.56,47.27s0-.11-.06-.1a.1.1,0,0,0-.08.07.1.1,0,0,0,.09.12s0-.07.05-.1Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#0c0c0c\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61,86.11c-1.64.18-3.29.16-4.93.21s-3.46.07-5.19,0c-.53,0-1-.09-1.57-.13-1-.09-2.11-.06-3.16-.06s-2.13,0-3.2-.12a57.18,57.18,0,0,0-6.14-.23,41.26,41.26,0,0,1-5.55-.35c-.86-.11-1.73-.17-2.6-.26-1.19-.11-2.39-.27-3.58-.46-1-.15-2-.27-3-.35a13.07,13.07,0,0,1-5.23-1.61,3.64,3.64,0,0,1-1-.86,10.36,10.36,0,0,1-2.22-5c-.12-.68-.18-1.37-.29-2.05a1.22,1.22,0,0,1,0-.27.2.2,0,0,1,.25,0A24.61,24.61,0,0,0,20.28,77c2.41.58,4.84,1.12,7.27,1.64a16.12,16.12,0,0,0,3.46.35c.92,0,1.83,0,2.75,0s2.11.06,3.16.11c.65,0,1.3.07,1.95.12a24.83,24.83,0,0,0,3,.06c.43,0,.85,0,1.28-.09a2.32,2.32,0,0,0,1.19-.43,18.48,18.48,0,0,0,2.55-2.2,6.42,6.42,0,0,0,1.25-2c.88-2.35,1.72-4.71,2.38-7.12.32-1.19.51-2.41.72-3.62.27-1.51.51-3,.8-4.53.18-.92.28-1.86.37-2.79.17-1.51.25-3,.4-4.55.08-.92.07-1.85.1-2.78,0-.39,0-.77,0-1.16a3,3,0,0,0-.8-2.08,4.21,4.21,0,0,0-1.87-1.11c-1.7-.44-3.39-.89-5.07-1.41a26,26,0,0,0-4-.8c-1.67-.24-3.36-.39-5-.5-.9,0-1.8,0-2.7-.1-1.73-.1-3.46,0-5.19-.17-2.11-.17-4.22-.19-6.35-.25-.66,0-1.33-.1-2-.17L17.87,41a.73.73,0,0,1-.38-.11c.15-.55.29-1.11.46-1.66.71-2.11,1.36-4.23,2.11-6.33,1.23-3.54,2.33-7.12,3.74-10.59.28-.71.58-1.41.92-2.09a71.65,71.65,0,0,1,4.87-8.4c.24-.35.46-.72.68-1.09a4.57,4.57,0,0,1,.8-1,9.93,9.93,0,0,1,4.11-2.33,17.39,17.39,0,0,1,4-.66c1.05-.06,2.1,0,3.16-.09a31.09,31.09,0,0,1,3.74,0c.74,0,1.49.13,2.23.17a.77.77,0,0,1,.5.18.34.34,0,0,0,.42.07,1.59,1.59,0,0,1,1-.07c1.25.09,2.46.3,3.72.4.88.06,1.76.19,2.64.28a15,15,0,0,0,2,.17,6,6,0,0,1,2.54.67,11.68,11.68,0,0,1,2.16,1.32,4.26,4.26,0,0,1,1.44,2.37,18.23,18.23,0,0,1,.61,4.46,33.8,33.8,0,0,1-.16,4.15c-.09,1.06-.11,2.11-.21,3.19-.18,1.95-.22,3.89-.21,5.85,0,1.38,0,2.77.14,4.15s0,2.71,0,4.06c0,1.51-.06,3-.12,4.53,0,1.29,0,2.58-.15,3.87-.17,1.84-.31,3.69-.54,5.53-.12,1-.2,2-.28,3.06S63.74,57,63.74,58c0,.43,0,.82.54,1,.13,0,.1.14.11.24a8.33,8.33,0,0,1,0,1.32c-.14,1.13-.14,2.27-.2,3.4-.08,1.57-.14,3.17-.29,4.72-.1.94-.11,1.88-.18,2.81-.09,1.09-.19,2.18-.29,3.27-.07.74-.15,1.48-.22,2.22a41.79,41.79,0,0,1-1.58,8.21,2.53,2.53,0,0,1-.31.76.12.12,0,0,0-.1.09.22.22,0,0,0-.18.16M43.68,24.55h.7a2,2,0,0,0,1.82-1A9.64,9.64,0,0,0,47,21.82a23.53,23.53,0,0,0,.78-3.52,4.08,4.08,0,0,0-.15-2.19.43.43,0,0,1,0-.16c.06-.47-.06-.64-.53-.76a7.53,7.53,0,0,0-.83-.08c-.83-.11-1.67-.22-2.5-.3-1.36-.14-2.7-.29-4-.46a14.53,14.53,0,0,0-3-.14,1.54,1.54,0,0,0-1.37,1,5.71,5.71,0,0,0-.35,1.35,36.93,36.93,0,0,0-.48,3.91c0,.5-.14,1-.12,1.49A1.2,1.2,0,0,0,35,23a4.26,4.26,0,0,0,1,.44c.83.24,1.69.38,2.55.54a33,33,0,0,0,5.15.58\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#eb5c68\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.22,55c-.06.49-.11,1-.17,1.47a21.25,21.25,0,0,0-.24,3,.76.76,0,0,0,.58.88,4.43,4.43,0,0,0,.88.25.85.85,0,0,0,1.08-.52h0a6.38,6.38,0,0,0,.47-1.54,16.89,16.89,0,0,0,.45-3.32c0-.59,0-.61.63-.63s1.3,0,2,0a10,10,0,0,1-.12,1.34c-.35,3.45-1.07,6.85-1.7,10.26a26.63,26.63,0,0,1-1,3.41c-.46,1.41-1,2.82-1.48,4.22a5.86,5.86,0,0,1-1.73,2.35c-.29.26-.62.47-.89.75a2.52,2.52,0,0,1-1.89.71c-1.12,0-2.24,0-3.36-.07a67.66,67.66,0,0,0-7.26-.14,18.68,18.68,0,0,1-4.77-.55c-1.95-.44-3.91-.86-5.86-1.32A33.42,33.42,0,0,1,16,74.1c-1.13-.46-2.2-1.06-3.3-1.56a3.3,3.3,0,0,1-1.83-2.28,17.61,17.61,0,0,1-.53-3.14c-.14-2.11-.28-4.22-.22-6.33.05-1.35.13-2.71.2-4.06,0-.82.07-1.63.13-2.47s.16-1.86.32-2.81c1.4,0,2.81,0,4.2.13s2.52.25,3.78.45,2.62.41,3.93.62c.45.07.89.2,1.35.27s.85.07,1.27.12c1.31.15,2.63.16,3.94.28.76.07,1.53.22,2.29.35,1.27.22,2.54.41,3.8.65a40.66,40.66,0,0,0,4.12.51c.95.09,1.9.18,2.85.23S44,55,44.87,55a.69.69,0,0,1,.35,0\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#85c28f\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.13,12.22a7.9,7.9,0,0,1,1.22,1.59,21.28,21.28,0,0,1,2.29,5c.22.8.35,1.62.58,2.42A34.84,34.84,0,0,0,76.63,25a95.48,95.48,0,0,1,4.16,12.72c1.1,4.29,2.07,8.62,3,13,.59,2.77,1.2,5.54,1.78,8.31.28,1.38.5,2.77.76,4.16s.62,3,1,4.5c.08.35.15.7.23,1a2.34,2.34,0,0,0,.2.58,1,1,0,0,1-.39,1.33l-.13,0a1.36,1.36,0,0,1-.86.14,17.79,17.79,0,0,0-.43-2.27c-.07-.5-.45-.7-1-.58s-1.27.26-1.9.43a4.16,4.16,0,0,0-1.11.62.6.6,0,0,0-.22.56,1.92,1.92,0,0,0,.19.7c.09.22-.06.3-.17.42s-.18.12-.32,0a2.19,2.19,0,0,0-.85-.17,1.05,1.05,0,0,1-1-.66,21.28,21.28,0,0,1-1-2.81c-.41-1.41-.66-2.88-1-4.32-.47-2-.91-4.08-1.23-6.15-.24-1.59-.47-3.19-.7-4.79-.15-1-.29-2-.43-3.08-.16-1.22-.33-2.43-.49-3.65-.35-2.69-.7-5.38-1.17-8-.14-.78-.35-1.54-.52-2.31a1.4,1.4,0,0,1,0-.41c.06-1.45-.07-2.9-.13-4.35,0-.55,0-1.11,0-1.66-.09-2.6-.17-5.2-.27-7.8a28.93,28.93,0,0,0-1.36-8.15.44.44,0,0,1,0-.16\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#ffc853\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62.44,85.76c.08-.3.15-.58.23-.86a40.28,40.28,0,0,0,1-4.32c.12-.78.21-1.56.29-2.35.17-1.58.35-3.16.49-4.74.09-.95.14-1.9.21-2.85l.27-4.15c0-.35,0-.7,0-1,0-1.36,0-2.72,0-4.07,0-.46.09-.91,0-1.37.13,0,.12.07.14.13a25,25,0,0,1,1.15,3.06,2.18,2.18,0,0,0,.25.56.58.58,0,0,0,.77.28l.08-.05a2.66,2.66,0,0,0,.8-.65,1.34,1.34,0,0,0,.16-1.46,22.82,22.82,0,0,0-1.33-2.94c-.2-.35-.39-.7-.58-1.06a.38.38,0,0,1-.08-.31,10.46,10.46,0,0,0,.17-2c0-.84,0-1.69,0-2.53a43,43,0,0,1,.35-4.68c.1-.7.12-1.4.22-2.11.24-1.58.17-3.16.27-4.76s.17-2.9.29-4.35c.09-1,.12-2.1.21-3.18.2-2.26.14-4.51.16-6.77,0-1.88.1-3.77.05-5.65-.05-1.37,0-2.74-.08-4.11a29.23,29.23,0,0,0-.4-4.38c-.13-.73-.33-1.45-.51-2.18a12.92,12.92,0,0,0-.54-1.4c.5.22,1.09.21,1.45.7a1,1,0,0,0,.21.19,3.7,3.7,0,0,1,1.44,2,34.38,34.38,0,0,1,1,4.61c.06.35.06.7.09,1.06.21,2.24.17,4.5.21,6.76,0,1.1.07,2.21.09,3.31s0,2,.07,3,.11,1.69.08,2.53c0,1.09-.09,2.19-.14,3.28,0,.76,0,1.52,0,2.28,0,3.66,0,7.31,0,11,0,1,0,1.91,0,2.86,0,1.12-.1,2.24-.21,3.35-.06.66-.09,1.33-.12,2-.07,1.7-.11,3.4-.18,5.1-.08,2.11-.08,4.22-.09,6.33a36.69,36.69,0,0,1-.41,5c-.16,1.11-.29,2.22-.54,3.31a35.1,35.1,0,0,1-1.24,4.29,3.26,3.26,0,0,1-1.68,1.87,21.36,21.36,0,0,1-4,1.43l-.15.05\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.77,51.39c-1.41,0-2.81-.06-4.2-.11s-3-.15-4.52-.21c-2.2-.1-4.41-.17-6.6-.28-.94,0-1.88-.16-2.82-.27l-3.42-.39-3.91-.46c-.86-.1-1.71-.18-2.56-.34s-1.95-.4-2.93-.55a17.92,17.92,0,0,0-2.3-.32c-.15,0-.23-.05-.2-.22a4.39,4.39,0,0,1,.35-1.47.6.6,0,0,0,.06-.27,4.54,4.54,0,0,1,1.61-2.91,4.45,4.45,0,0,1,3.73-1.09c.86.09,1.73.2,2.59.31a48,48,0,0,0,5.22.27c1.22,0,2.43.1,3.65.2.88.07,1.76.09,2.66.09,1.42,0,2.85.07,4.27.13,1.8.08,3.59.25,5.37.48a47.83,47.83,0,0,1,6.81,1.4,11.54,11.54,0,0,1,2.52,1,.71.71,0,0,1,.4.48,6,6,0,0,1,.15.61c0,.64.3,1.22.38,1.85a4,4,0,0,1,.1,1.42.32.32,0,0,1-.29.28,12.32,12.32,0,0,1-2.84.33Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#ffc853\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.49,5.8l.43-.38a7.75,7.75,0,0,1,4.15-1.59,2.35,2.35,0,0,1,.53,0c.27,0,.36.12.36.37a3.35,3.35,0,0,1-.62,2,.3.3,0,0,1-.32.13L52.35,6c-.6-.06-1.2-.15-1.86-.23\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.87,58.41a8.64,8.64,0,0,1-.26,1,.27.27,0,0,1-.3.22l-.08,0L46,59.54c-.2,0-.27-.12-.26-.35,0-1,.1-2.11.21-3.13s.26-2,.3-3c0-.41,0-.38.4-.38h.58c.2,0,.2,0,.2.19,0,.58,0,1.16,0,1.74s-.1,1-.13,1.53A10.55,10.55,0,0,1,47,57.89h-.07v-.37c0-.3-.15-.48-.39-.5a.47.47,0,0,0-.51.39,3.7,3.7,0,0,0-.07.66.5.5,0,0,0,.29.54.43.43,0,0,0,.53-.2Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.07,30.94V29.86a.27.27,0,0,1,.24-.31,2.27,2.27,0,0,0,.88-.28A33.64,33.64,0,0,1,67,33.53c-.27-.26-.57-.16-.86-.2q-.06-.67-.06-1.35c.08-.12.19-.06.28-.08s.19,0,.27-.09a.5.5,0,0,0,.36-.46.55.55,0,0,0-.5-.38c-.14,0-.27.09-.46,0\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67,61c-.19-.15-.35-.35-.65-.18,0,0-.1,0-.13-.07a.37.37,0,0,1,0-.11c-.38-.83-.74-1.66-1.11-2.49a2.09,2.09,0,0,1-.06-.86c.16,0,.17.14.22.22a32.09,32.09,0,0,1,1.64,3.06A.94.94,0,0,1,67,61Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.16,52.56c.53-.07,1.05.09,1.58,0A3.37,3.37,0,0,0,43.87,54h-1.7a2.44,2.44,0,0,0,0-1.39\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.54,53.64a16,16,0,0,1-1.7-.12A1.62,1.62,0,0,0,37,52.38h1.24c.12,0,.17,0,.17.17a4.44,4.44,0,0,0,.12,1.09\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.71,52.48a5.15,5.15,0,0,1,1.11,0c.12,0,.16.07.16.19a2.79,2.79,0,0,0,.19,1.18,7.91,7.91,0,0,1-1.46-.11,3.73,3.73,0,0,0,0-1.29\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.21,53.05a2.44,2.44,0,0,0,.09-.66c0-.15.07-.18.2-.18.35,0,.71.06,1.08.06.13,0,.15.09.16.19a2.34,2.34,0,0,0,.19.87Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.28,69.51a.27.27,0,0,1-.29-.15.41.41,0,0,0-.48-.17L83,69.55a1.18,1.18,0,0,0-.5.28c-.19-.35-.18-.35.11-.55a2.27,2.27,0,0,1,.71-.27c.52-.12,1-.17,1.58-.33.16,0,.29,0,.3.21s0,.41.09.62\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.2,28.76a1,1,0,0,0-1.08-.15v-1c0-.17.12-.16.22-.19a1.81,1.81,0,0,0,.86-.35Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.21,25.22c.35-.08.68,0,1-.09v1.4a1.07,1.07,0,0,0-.88-.18c-.16,0-.19-.05-.18-.18,0-.32,0-.62.06-1\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.24,20.11v1.74a.79.79,0,0,0-.76,0c0-.5.07-.92.11-1.34a.24.24,0,0,1,.22-.26c.13,0,.27-.06.43-.1\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.14,16.38H67c-.16,0-.21,0-.23-.2,0-.37,0-.74-.06-1.11s-.08-.85-.13-1.28c0-.15,0-.23.19-.24s.21,0,.22.18c0,.88.23,1.73.2,2.65\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67,34c-.09.59-.07,1.12-.18,1.65-.61-.08-.61-.08-.62-.65v-.17a1.57,1.57,0,0,1,0-.53c.06-.14.31-.06.46-.13L67,34\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.19,19.57a1.36,1.36,0,0,0-.49-.12l.1-2.05c.13,0,.23.1.39,0Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50,52.55l.84-.19c.27,0,.39.09.36.33a3.09,3.09,0,0,0-.07.52c0,.24-.13.27-.31.25h-.09c-.16,0-.35.07-.48,0s0-.28,0-.43a1.13,1.13,0,0,0-.2-.45\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.62,52.11v-.47l1.81.17c.25,0,.35.18.33.44-.71,0-1.41-.06-2.14-.14\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.57,52a11.23,11.23,0,0,1-1.52-.26l-.44-.08c-.15,0-.18-.06-.17-.18s0-.25.19-.22l1.64.19c.17,0,.31.08.27.31a1,1,0,0,0,0,.24\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.25,23v1.26a2.87,2.87,0,0,0-.92-.11,1.69,1.69,0,0,1,0-.45c0-.24,0-.4.36-.41a1,1,0,0,0,.56-.29\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.34,50.6a1.11,1.11,0,0,0,.21-.79l1.23.18a.91.91,0,0,0,0,.61Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.24,38.15V36.71c0-.21.08-.27.27-.24a1.06,1.06,0,0,0,.25,0,1.14,1.14,0,0,1,0,.52c0,.31-.06.6-.06.91s-.07.3-.29.26h-.17\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.71,52.69c0-.09.06-.14.07-.19.15-.41.15-.41.57-.39a1.43,1.43,0,0,1,.65,0c.2.1,0,.4.15.6a.63.63,0,0,1,0,.14,8.62,8.62,0,0,1-1.44-.21\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.46,41a.49.49,0,0,1-.33-.6c0-.35,0-.7,0-1.08s0-.35.45-.37Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.67,52.05l.06.45c-.17.1-.32,0-.48,0L29,52.32c-.13,0-.21,0-.2-.19S28.89,52,29,52a15.25,15.25,0,0,0,1.66.09\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.19,10.52a.73.73,0,0,1-.35.15c-.11,0-.21,0-.28-.13s-.32-.55-.48-.81c0,0,0-.06.06-.07.59-.13.59-.13.86.44a3.89,3.89,0,0,1,.19.42\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.38,53.53v-.82l.77-.09a1.19,1.19,0,0,0,0,.87,2.5,2.5,0,0,1-.77,0\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.76,52.66c.7-.08.7-.08.65.57v.16c0,.49,0,.49-.57.46a1.8,1.8,0,0,0-.08-1.19\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.81,50.64c-.05-.09,0-.16,0-.22s.1-.22.28-.18c.37.09.75.16,1.12.22.16,0,.29.09.26.36Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.46,41.29c-.06.7-.08,1.34-.09,2-.23,0-.32-.07-.31-.28,0-.45,0-.89,0-1.32,0-.23.16-.26.35-.39\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.43,11.32l.28,1.36c-.06.09-.16.06-.23.09s-.17,0-.19-.12-.12-.52-.19-.77c-.11-.43-.11-.43.33-.56\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.42,51.51l-1.48-.26c-.08,0-.21,0-.18-.15S19.9,51,20,51c.35,0,.68.12,1,.13s.36.12.39.41\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.55,50.6c-.24-.06-.52.07-.61-.11s0-.48.07-.72a.17.17,0,0,1,.15-.13c.15,0,.25,0,.24.21a1.16,1.16,0,0,0,.15.75\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.79,62.42c.44.16.47.15.7-.22.19.52.14.67-.35,1a4,4,0,0,1-.35-.8\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.59,53.78c-.35-.08-.35-.08-.32-.36a4,4,0,0,1,.12-1c.25.18.28.36.2,1.33\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.37,44c0,.42-.07.84-.11,1.26,0,.07,0,.14-.13.13s-.09-.07-.09-.14c0-.33,0-.66,0-1s.06-.28.31-.26\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.33,50.87c0-.12.06-.19.14-.18l1.11.11c.09,0,.11.08.11.15a.11.11,0,0,1-.13.11,10.15,10.15,0,0,1-1.23-.19\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.48,70c.21.64.07.88-.56,1a4.21,4.21,0,0,1,.56-1\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.55,55.41c-.49-.22-.49-.22-.35-.81.35,0,.35,0,.35.35Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.87,47.31l.08-1c0-.05,0-.11.08-.12s.11.07.1.14L66,47.6c0,.07,0,.11-.1.11s-.08-.06-.08-.12a1.91,1.91,0,0,1,0-.28\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65,8.84c-.49.37-.76,0-1.11-.27A7.47,7.47,0,0,1,65,8.84\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.69,49.5v-1a.25.25,0,0,1,.19.3,0,0,0,0,1,0,0l-.12.84Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.67,50.71c0,.27-.07.54,0,.82a.08.08,0,0,1-.06.09h0a.08.08,0,0,1-.06-.1c0-.27.07-.54.1-.81,0,0,.08,0,.11,0\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.91,57.9H47a2.1,2.1,0,0,1-.11.51h-.11c.08-.16,0-.37.15-.51\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#85c28f\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.67,50.71s-.07,0-.11,0a1.05,1.05,0,0,1,.1-.58.89.89,0,0,1,0,.58\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.67,50.13h0a.35.35,0,0,0,0-.41c0-.07-.07-.15,0-.22l.06.15a.35.35,0,0,0-.08.48\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#85c28f\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.54,56.11s0,.09-.05.09a.1.1,0,0,1-.09-.12.09.09,0,0,1,.08-.07c.09,0,0,.06.06.1\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#85c28f\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67,61c.14,0,.08.15.13.22-.14,0-.16-.1-.12-.22Z\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#85c28f\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61,86.11c0-.07.06-.14.16-.14s0,.14-.16.14\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.14,86a.13.13,0,0,1,.1-.1s0,.11-.1.1\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.68,24.55A34.24,34.24,0,0,1,38.53,24c-.85-.16-1.71-.31-2.55-.55A4.24,4.24,0,0,1,35,23,1.2,1.2,0,0,1,34.33,22c0-.51.1-1,.12-1.49.1-1.31.26-2.61.49-3.91a4.89,4.89,0,0,1,.35-1.35,1.55,1.55,0,0,1,1.37-1,14.57,14.57,0,0,1,3,.15c1.34.17,2.69.32,4,.45l2.51.3a7.61,7.61,0,0,1,.82.09c.47.11.6.28.53.75a.43.43,0,0,0,0,.16,4.13,4.13,0,0,1,.16,2.2A24.87,24.87,0,0,1,47,21.83a8.88,8.88,0,0,1-.75,1.7,2,2,0,0,1-1.81,1Zm2.78-8.23-.84-.06c-1-.09-1.95-.19-2.93-.3s-1.75-.16-2.64-.29a21.38,21.38,0,0,0-2.89-.23c-.66,0-.7,0-.86.69,0,.07,0,.14,0,.2-.11.71-.21,1.41-.33,2.09-.14.89-.16,1.79-.24,2.69,0,.27-.23.59,0,.82a1.63,1.63,0,0,0,.79.33l.17,0c.9.24,1.84.35,2.76.54a35.55,35.55,0,0,0,4.83.45.94.94,0,0,0,1-.57,11.36,11.36,0,0,0,1-2.9,8.64,8.64,0,0,0,.32-3,2.26,2.26,0,0,1,0-.45\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#0c0c0c\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.91,57.9c-.12.16-.07.35-.15.53a.43.43,0,0,1-.54.19.52.52,0,0,1-.29-.54,3.5,3.5,0,0,1,.08-.65.46.46,0,0,1,.5-.4c.24,0,.37.2.39.5,0,.11,0,.23,0,.37\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#0c0c0c\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.46,16.32a1.69,1.69,0,0,0,0,.45,8.64,8.64,0,0,1-.32,3,11.36,11.36,0,0,1-1,2.9.93.93,0,0,1-1,.57,34,34,0,0,1-4.83-.46c-.92-.18-1.86-.29-2.76-.53a.86.86,0,0,1-.17,0,1.71,1.71,0,0,1-.8-.33c-.21-.23,0-.55,0-.82.09-.9.11-1.8.25-2.69.12-.7.22-1.4.33-2.09a.84.84,0,0,1,0-.2c.16-.65.2-.67.86-.69a21.51,21.51,0,0,1,2.89.23c.88.13,1.76.2,2.64.29s2,.21,2.93.3l.85.06M41.65,19l1.8-1a.52.52,0,0,0,.3-.65.57.57,0,0,0-.66-.31,2.44,2.44,0,0,0-.74.27c-.43.23-.88.46-1.3.7a.27.27,0,0,1-.37,0l0-.06c-.18-.24-.39-.47-.59-.7a1.39,1.39,0,0,0-.57-.42.64.64,0,0,0-.78.19.62.62,0,0,0,.09.76c.23.29.45.59.67.89s.18.25-.08.48l-.16.12c-.27.17-.55.33-.81.52a.64.64,0,0,0-.26.72.62.62,0,0,0,.67.35,1.51,1.51,0,0,0,.35-.14,7.18,7.18,0,0,0,1-.7c.24-.19.25-.19.46,0,.42.41.83.82,1.23,1.24a.76.76,0,0,0,.73.29.74.74,0,0,0,.61-.83.81.81,0,0,0-.22-.42c-.42-.39-.87-.81-1.35-1.28\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#8fb9d3\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.65,19c.48.47.93.89,1.34,1.33a.74.74,0,0,1,0,1,.81.81,0,0,1-.42.22.79.79,0,0,1-.73-.29c-.4-.42-.81-.83-1.22-1.24-.22-.22-.23-.22-.47,0a7.15,7.15,0,0,1-1,.71,1.42,1.42,0,0,1-.36.14.64.64,0,0,1-.67-.35.64.64,0,0,1,.27-.72c.26-.19.53-.35.8-.52l.16-.12c.27-.23.32-.17.09-.48s-.45-.6-.68-.89a.62.62,0,0,1-.09-.76.65.65,0,0,1,.79-.19,1.51,1.51,0,0,1,.56.41,8.32,8.32,0,0,1,.6.71.25.25,0,0,0,.35.11L41,18c.43-.25.87-.48,1.31-.7a2.48,2.48,0,0,1,.73-.27.58.58,0,0,1,.67.31.54.54,0,0,1-.3.65c-.58.29-1.17.62-1.8,1\",\n transform: \"translate(-8.77 -0.29)\",\n fill: \"#0c0c0c\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBackpack);\nexport default __webpack_public_path__ + \"static/media/backpack.a0a1d12b.svg\";\nexport { ForwardRef as ReactComponent };","import {useEffect} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {loadTranslation} from 'redux/translation/translationAsyncActions';\r\n\r\ninterface IUseGetTranslations {\r\n translationKey: string\r\n}\r\n\r\nexport const useGetTranslations = ({\r\n translationKey\r\n}: IUseGetTranslations): void => {\r\n const {\r\n translation: {\r\n translationKeys,\r\n locale\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n if (!translationKeys.includes(translationKey)) {\r\n dispatch(loadTranslation(translationKey));\r\n }\r\n }, [locale]);\r\n};\r\n","export default __webpack_public_path__ + \"static/media/skill-crossroad.dbef1da9.svg\";","import {useDispatch, useSelector} from 'react-redux';\r\nimport {IStore} from 'redux/interface';\r\nimport {loadMediaAction} from 'redux/media/mediaAsyncActions';\r\nimport {IMediaInitialState} from 'redux/media/interfaces';\r\n\r\ninterface IUseLoadFile {\r\n media: IMediaInitialState\r\n getFileUrl: (fileId: number) => string\r\n}\r\n\r\nexport function useLoadFile(): IUseLoadFile {\r\n const {\r\n media,\r\n status: {loading}\r\n } = useSelector((store: IStore) => store);\r\n const dispatch = useDispatch();\r\n\r\n function getFileUrl(fileId: number): string {\r\n if (media[fileId]) {\r\n return media[fileId];\r\n }\r\n if (!loading.includes(fileId.toString())) {\r\n dispatch(loadMediaAction(fileId));\r\n }\r\n\r\n return '';\r\n }\r\n\r\n return {\r\n getFileUrl,\r\n media\r\n };\r\n}\r\n","export default __webpack_public_path__ + \"static/media/book.aa5daa4e.svg\";","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOkCircle(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 48 48\",\n style: {\n enableBackground: \"new 0 0 48 48\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"ok-circle_2_\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24,11.75c-6.755,0-12.25,5.495-12.25,12.25S17.245,36.25,24,36.25c6.755,0,12.25-5.495,12.25-12.25S30.755,11.75,24,11.75 z M24,33c-4.963,0-9-4.037-9-9s4.037-9,9-9c4.963,0,9,4.037,9,9S28.963,33,24,33z M30.06,21.987l-7.512,7.511 c-0.127,0.128-0.337,0.128-0.465,0l-2.132-2.133c-0.128-0.128-0.338-0.337-0.465-0.465l-1.567-1.567 c-0.128-0.127-0.128-0.336,0-0.465l2.134-2.133c0.128-0.128,0.337-0.128,0.464,0l1.567,1.567c0.128,0.127,0.337,0.127,0.465,0 l4.895-4.895c0.127-0.128,0.337-0.129,0.467-0.002l2.146,2.118C30.187,21.651,30.187,21.859,30.06,21.987z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOkCircle);\nexport default __webpack_public_path__ + \"static/media/ok-circle.d86ab217.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/clock.465d3fde.svg\";","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEmptyHeart(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"glyphicons-basic\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"heart\",\n id: \"heart-empty\",\n d: \"M21.272,5.34473A6.28375,6.28375,0,0,0,16.2041,8.11938a.24607.24607,0,0,1-.40039-.00537A6.01148,6.01148,0,0,0,10.838,5.34473a6.79272,6.79272,0,0,0-6.6192,6.58105c0,4.82666,6.13513,8.68115,11.03705,14.06787a.99989.99989,0,0,0,1.48828,0c4.90192-5.38672,11.03717-9.24121,11.03717-14.06787A6.70068,6.70068,0,0,0,21.272,5.34473ZM19.28534,19.80811c-.96607.91-1.95374,1.84057-2.93243,2.82739a.49705.49705,0,0,1-.70582,0c-.97845-.98633-1.96618-1.917-2.93231-2.82739-3.16369-2.98047-5.896-5.55469-5.896-7.88233a4.2183,4.2183,0,0,1,4.01922-3.981,3.61367,3.61367,0,0,1,3.085,1.76807c.74781,1.19385,1.2569,1.91345,1.2569,1.91345a1,1,0,0,0,1.62909.0033,22.203,22.203,0,0,1,1.2276-1.8562A4.002,4.002,0,0,1,21.273,7.94482a4.10315,4.10315,0,0,1,3.90839,3.981C25.18134,14.25342,22.449,16.82764,19.28534,19.80811Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmptyHeart);\nexport default __webpack_public_path__ + \"static/media/empty-heart.c5f2bbb1.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFullHeart(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"glyphicons-basic\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"heart\",\n id: \"heart\",\n d: \"M27.78131,11.92578c0,4.82666-6.13562,8.68128-11.0376,14.0686a.99978.99978,0,0,1-1.48742,0c-4.902-5.38732-11.03748-9.24194-11.03748-14.0686,0-5.52954,7.53626-9.48682,11.57507-3.82544a.25855.25855,0,0,0,.42029.00562C20.47992,2.43628,27.78131,6.39453,27.78131,11.92578Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFullHeart);\nexport default __webpack_public_path__ + \"static/media/full-heart.5110a015.svg\";\nexport { ForwardRef as ReactComponent };","export enum ButtonVariant {\r\n Primary,\r\n Secondary,\r\n Light,\r\n Outline\r\n}\r\n","import {FavoriteButton} from './FavoriteButton';\r\nexport default FavoriteButton;\r\n","import React from 'react';\r\n\r\nimport {ReactComponent as EmptyHeart} from 'assets/image/library/empty-heart.svg';\r\nimport {ReactComponent as FullHeart} from 'assets/image/library/full-heart.svg';\r\n\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n favorite: boolean;\r\n activeCard?: boolean;\r\n disabled?: boolean;\r\n changeFavorite: () => void;\r\n}\r\n\r\nexport const FavoriteButton = ({\r\n favorite,\r\n activeCard = false,\r\n disabled = false,\r\n changeFavorite\r\n}: Props): JSX.Element => {\r\n return ;\r\n};\r\n","export interface IDialog {\r\n avatar: number\r\n botId: number\r\n id: number\r\n lastMessageDate: string\r\n lastMessageText: string\r\n name: string\r\n unreadCount: number\r\n}\r\n\r\nexport enum MessageType {\r\n Text = 'TEXT',\r\n Picture = 'PICTURE',\r\n Media = 'MEDIA',\r\n Action = 'ACTION',\r\n Url = 'URL'\r\n}\r\n\r\nexport enum HistoryRequestType {\r\n All = 'ALL',\r\n Unread = 'UNREAD',\r\n Onload = 'ONLOAD',\r\n Last = 'LAST'\r\n}\r\n\r\ninterface IBotTextMessage {\r\n text: string\r\n urls?: string\r\n}\r\n\r\ninterface IBotPictureMessage {\r\n picture: {\r\n description: string\r\n fileId: number\r\n }\r\n}\r\n\r\ninterface IBotMediaMessage {\r\n media: {\r\n description: string\r\n id: number\r\n type: 'STICKER' | 'GIF'\r\n }\r\n fileId?: number\r\n fieldUrl?: string\r\n}\r\n\r\ninterface IBotUrlMessage {\r\n url: string\r\n description?: string\r\n}\r\n\r\nexport enum BotType {\r\n 'Chat' = 'chat',\r\n 'Xpedition' = 'xpedition',\r\n 'Interview' = 'interview'\r\n}\r\n\r\nexport enum BotActionType {\r\n ReturnValue = 'RETURN_VALUE',\r\n Schedule = 'SCHEDULE',\r\n ContentView = 'CONTENT_VIEW',\r\n Overlay = 'OVERLAY',\r\n OpenURL = 'OPEN_URL'\r\n}\r\n\r\ninterface IBotActionMessage {\r\n button: {\r\n actionType: BotActionType\r\n actionUrl?: string\r\n actionBody: string\r\n serialNumber?: number\r\n text?: string\r\n }\r\n}\r\n\r\nexport interface IBotAction {\r\n actionType: BotActionType\r\n actionUrl?: string\r\n actionBody: string\r\n serialNumber?: number\r\n text?: string\r\n}\r\n\r\nexport interface IMessageModel {\r\n [MessageType.Text]: IBotTextMessage\r\n [MessageType.Picture]: IBotPictureMessage\r\n [MessageType.Media]: IBotMediaMessage\r\n [MessageType.Action]: IBotActionMessage\r\n [MessageType.Url]: IBotUrlMessage\r\n}\r\n\r\ninterface ISender {\r\n id: number\r\n type: string\r\n name: string\r\n avatar: number\r\n zoneOffset: string\r\n botName: string\r\n}\r\n\r\ninterface IPrompt {\r\n prompt: string\r\n type: string\r\n order: number\r\n}\r\n\r\nexport interface IBot {\r\n 'avatar': number,\r\n 'avatarUrl': string\r\n 'description': string\r\n 'fullDescription': string\r\n 'id': number\r\n 'indMain': boolean,\r\n 'name': string\r\n}\r\n\r\nexport interface IBotAnswer {\r\n button?: null\r\n contentId?: null\r\n contentType?: string\r\n date: string\r\n dialogueId: number\r\n keyboard?: null | { buttons: IBotAction[] }\r\n media?: null\r\n messageId: number\r\n picture?: null | { fileId: number, fileUrl: string }\r\n prompts: IPrompt[]\r\n sender: ISender\r\n text: string\r\n type: MessageType\r\n unread: boolean\r\n url?: string | null\r\n urls?: string[]\r\n}\r\n\r\ntype SendMessageType = (type: T, data: IMessageModel[T]) => void\r\n\r\nexport interface IUseChatBot {\r\n currentDialog: IDialog | null,\r\n isLoading: boolean\r\n botAnswer: IBotAnswer[],\r\n sendMessage: SendMessageType,\r\n getBotList: () => Promise,\r\n xpedition: {\r\n getXpeditionList: () => void\r\n xpeditionList: IXpedition[]\r\n startXpedition: (xpeditionId: number) => void\r\n },\r\n dialogMethods: {\r\n addDialog: (botId: number) => void\r\n getDialogList: () => Promise\r\n getMainDialog: () => Promise\r\n getDialogById: (dialogId: number) => Promise\r\n makeDialogRead: (dialogId: number) => void\r\n removeDialog: (dialogId: number) => void\r\n setDialogAvatar: (dialogId: number, fileId: number) => void\r\n setDialogName: (dialogId: number, dialogName: string) => void,\r\n startInterview: (interviewId: number) => void\r\n setDialogLanguage: (language: string, dialogId?: number) => void\r\n }\r\n}\r\n\r\nexport interface IXpedition {\r\n botId: number\r\n dialogId: null | number\r\n id: number\r\n intro: string\r\n lang: string\r\n theme: string\r\n imageUrl: string\r\n description: string\r\n percentage: number\r\n}\r\n","import React, {CSSProperties} from 'react';\r\nimport cn from 'classnames';\r\nimport './styles.scss';\r\nimport {ButtonVariant} from './ButtonVariantEnum';\r\n\r\ninterface IGritxButtonProps {\r\n title: string;\r\n variant: ButtonVariant;\r\n className?: string;\r\n disabled?: boolean;\r\n onClick: () => void;\r\n style?: CSSProperties\r\n}\r\n\r\nexport const GritxButton = ({\r\n title,\r\n variant,\r\n className,\r\n disabled = false,\r\n onClick,\r\n style\r\n}: IGritxButtonProps): JSX.Element => {\r\n return \r\n {title}\r\n ;\r\n};\r\n","import {GritxButton} from './GritxButton';\r\nexport default GritxButton;\r\n","import {MaterialButton} from './MaterialButton';\r\n\r\nexport default MaterialButton;\r\n","import React from 'react';\r\nimport {useIntl} from 'react-intl';\r\n\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport GritxButton from 'components/gritx-button';\r\n\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n material: boolean;\r\n activeCard?: boolean;\r\n disabled?: boolean;\r\n addToMaterials: () => void;\r\n}\r\n\r\nexport const MaterialButton = ({\r\n material,\r\n activeCard = false,\r\n disabled = false,\r\n addToMaterials\r\n}: Props): JSX.Element => {\r\n const intl = useIntl();\r\n\r\n return ;\r\n};\r\n","import {ArticleCard} from './ArticleCard';\r\nexport default ArticleCard;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useDispatch} from 'react-redux';\r\nimport cn from 'classnames';\r\n\r\nimport {addFavoriteCardAction, addMaterialAction, removeFavoriteCardAction, removeMaterialAction} from 'redux/content/contentAsyncActions';\r\nimport {IArticleCard} from 'redux/content/interfaces';\r\n\r\nimport {useLoadFile} from 'utils/hooks/useLoadFile';\r\n\r\nimport Book from 'assets/image/library/book.svg';\r\nimport Clock from 'assets/image/library/clock.svg';\r\nimport {ReactComponent as CheckImg} from 'assets/image/library/ok-circle.svg';\r\n\r\nimport FavoriteButton from './favorite-button';\r\nimport MaterialButton from './material-button';\r\n\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n card: IArticleCard;\r\n active?: boolean;\r\n checked?: boolean;\r\n disabledButtons?: boolean;\r\n proUser?: boolean;\r\n onClick: () => void;\r\n}\r\n\r\nexport const ArticleCard = ({\r\n card,\r\n active = false,\r\n checked = false,\r\n disabledButtons = false,\r\n proUser,\r\n onClick\r\n}: Props): JSX.Element => {\r\n const dispatch = useDispatch();\r\n const {\r\n media,\r\n getFileUrl\r\n } = useLoadFile();\r\n const [cardData, setCardData] = useState(card);\r\n const [fullHeart, setFullHeart] = useState(card.favorite);\r\n const [isSave, setIsSave] = useState(card.material);\r\n\r\n useEffect(() => {\r\n const newCard = Object.assign({}, card);\r\n\r\n if (newCard.tags) {\r\n newCard.tags = newCard.tags.replace(/,/g, ', ');\r\n }\r\n\r\n if (!cardData.pictureUrl && cardData.picture) {\r\n newCard.pictureUrl = getFileUrl(cardData.picture);\r\n }\r\n\r\n setCardData(newCard);\r\n }, [card]);\r\n useEffect(() => {\r\n if (!cardData.pictureUrl && cardData.picture && media[cardData.picture]) {\r\n cardData.pictureUrl = media[cardData.picture];\r\n setCardData(cardData);\r\n }\r\n }, [media]);\r\n useEffect(() => {\r\n setIsSave(card.material);\r\n }, [card.material]);\r\n\r\n useEffect(() => {\r\n setFullHeart(card.favorite);\r\n }, [card.favorite]);\r\n\r\n function changeFavorite() {\r\n setFullHeart(!fullHeart);\r\n if (!fullHeart) {\r\n dispatch(addFavoriteCardAction(card.id));\r\n } else {\r\n dispatch(removeFavoriteCardAction(card.id));\r\n }\r\n }\r\n\r\n function addToMaterials() {\r\n setIsSave(!isSave);\r\n if (!isSave) {\r\n dispatch(addMaterialAction(card.id));\r\n } else {\r\n dispatch(removeMaterialAction([card.id]));\r\n }\r\n }\r\n\r\n function renderActiveCard() {\r\n return
\r\n
\r\n
\r\n {cardData.title}\r\n
\r\n
\r\n
\r\n \r\n {proUser\r\n ? \r\n : null}\r\n
\r\n
\r\n
\r\n
;\r\n }\r\n\r\n function renderCheckedCard() {\r\n return
\r\n
\r\n \r\n
\r\n
;\r\n }\r\n\r\n function renderBasicCard() {\r\n return
\r\n
\r\n \r\n
\r\n {proUser &&
\r\n \r\n
}\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
;\r\n }\r\n\r\n if (active) {\r\n return renderActiveCard();\r\n }\r\n if (checked) {\r\n return renderCheckedCard();\r\n }\r\n\r\n return renderBasicCard();\r\n};\r\n","import {Loader} from './Loader';\r\nexport default Loader;\r\n","import React, {useEffect, useRef, useState} from 'react';\r\nimport cn from 'classnames';\r\n\r\nimport './styles.scss';\r\n\r\ninterface ILoaderProps {\r\n className?: string\r\n nested?: boolean\r\n}\r\n\r\nexport const Loader: React.FunctionComponent = ({\r\n className,\r\n nested = false\r\n}: ILoaderProps) => {\r\n const [calcStyles, setCalcStyles] = useState({});\r\n const loaderRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (loaderRef.current) {\r\n const loader = loaderRef.current as unknown as HTMLDivElement;\r\n\r\n setCalcStyles({\r\n width: Math.min(loader.offsetHeight, loader.offsetWidth)\r\n });\r\n }\r\n }, []);\r\n\r\n return \r\n \r\n
\r\n
\r\n
\r\n
\r\n ;\r\n};\r\n","import {CardSection} from './CardSection';\r\nexport default CardSection;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useSelector} from 'react-redux';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport {IArticleCard} from 'redux/content/interfaces';\r\nimport {IStore} from 'redux/interface';\r\n\r\nimport {maxArticleCards, proUser} from 'utils/constants/constants';\r\n\r\nimport ArticleCard from 'components/article-card';\r\nimport Loader from 'components/loader';\r\n\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n cards: IArticleCard[];\r\n showLoader?: boolean;\r\n onLoadMore?: (count: number) => void;\r\n onClickCard: (cardId: number) => void;\r\n checkedCards?: number[];\r\n disabledButtons?: boolean;\r\n}\r\n\r\nexport const CardSection = ({\r\n showLoader = false,\r\n cards,\r\n onLoadMore,\r\n onClickCard,\r\n checkedCards = [],\r\n disabledButtons = false\r\n}: Props): JSX.Element => {\r\n const {\r\n auth: {auth0User},\r\n content: {page}\r\n } = useSelector((state: IStore) => state);\r\n const proFlag = auth0User?.['https://gritx.org/roles'].includes(proUser);\r\n const [countCards, setCountCards] = useState(onLoadMore ? maxArticleCards : cards.length);\r\n const [totalElements, setTotalElements] = useState(0);\r\n const [cardsList, setCardsList] = useState(cards);\r\n\r\n useEffect(() => {\r\n if (page) {\r\n setTotalElements(page.totalElements);\r\n }\r\n }, [page]);\r\n\r\n useEffect(() => {\r\n setCardsList(cards);\r\n setCountCards(cards.length);\r\n }, [cards]);\r\n\r\n function LoadMore() {\r\n if (onLoadMore) {\r\n onLoadMore(countCards / maxArticleCards);\r\n }\r\n setCountCards(countCards + maxArticleCards);\r\n }\r\n\r\n function handleClickCard(id: number) {\r\n return () => {\r\n onClickCard(id);\r\n };\r\n }\r\n\r\n const buttonLoadMore = totalElements && totalElements > maxArticleCards && totalElements > countCards && onLoadMore\r\n ? ()\r\n : null;\r\n\r\n return
\r\n
    \r\n {\r\n cardsList.map((card, i) => {\r\n return i < countCards\r\n ?
  • \r\n \r\n
  • : null;\r\n })\r\n }\r\n
\r\n
\r\n {showLoader ? : buttonLoadMore}\r\n
\r\n
;\r\n};\r\n","import {NotFoundInfo} from './NotFoundInfo';\r\nexport default NotFoundInfo;\r\n","import React from 'react';\r\nimport './styles.scss';\r\n\r\ninterface Props {\r\n title?: string;\r\n description?: string;\r\n image: string;\r\n}\r\n\r\nexport const NotFoundInfo = ({title, description, image}: Props): JSX.Element => {\r\n return
\r\n

\r\n {title}\r\n

\r\n

{description}

\r\n \r\n
;\r\n};\r\n","import {Backpack} from './Backpack';\r\nexport default Backpack;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {useHistory} from 'react-router-dom';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\n\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\nimport {IStore} from 'redux/interface';\r\nimport {getBackpackContent, backpackAsyncActions, getTranslations} from 'redux/pageAsyncActions';\r\n\r\nimport {ReactComponent as BackpackImg} from 'assets/image/backpack/backpack.svg';\r\nimport CrossroadImg from 'assets/image/library/skill-crossroad.svg';\r\n\r\nimport CardSection from 'components/card-section';\r\nimport Loader from 'components/loader';\r\nimport NotFoundInfo from 'components/not-found-info';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Backpack: React.FunctionComponent = () => {\r\n const {\r\n content: {\r\n backpackContent\r\n },\r\n status: {\r\n loading\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const intl = useIntl();\r\n const [isLoadCards, setIsLoadCards] = useState(true);\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Backpack\r\n });\r\n\r\n useEffect(() => {\r\n dispatch(backpackAsyncActions[getBackpackContent]());\r\n setIsLoadCards(false);\r\n }, []);\r\n\r\n function handleOpenCard(cardId: number) {\r\n history.push(\r\n `/content#${cardId}`,\r\n history.location.state ? history.location.state : {parentLocation: history.location.pathname}\r\n );\r\n }\r\n\r\n function renderFavorites() {\r\n return backpackContent.length === 0\r\n ? <>\r\n \r\n \r\n : ;\r\n }\r\n\r\n return
\r\n {\r\n !loading.includes(getTranslations) && <>\r\n

\r\n \r\n

\r\n
\r\n {\r\n loading.includes(getBackpackContent) || isLoadCards ? : renderFavorites()}\r\n
\r\n \r\n }\r\n\r\n
;\r\n};\r\n","import {Callback} from './Callback';\r\n\r\nexport default Callback;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {Redirect} from 'react-router-dom';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {finishLoginAction} from 'redux/auth/authAsyncActions';\r\n\r\nimport Loader from 'components/loader';\r\n\r\nimport {Routes} from 'utils/constants/routeConstants';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Callback = (): JSX.Element => {\r\n const {\r\n auth: {\r\n auth0User,\r\n userProfile\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n const [redirectUri, setRedirectUri] = useState(Routes.Home);\r\n\r\n useEffect(() => {\r\n setTimeout(() => dispatch(finishLoginAction()), 1000);\r\n const searchParams = new URLSearchParams(window.location.search);\r\n const redirectUriValue = searchParams.get('appRedirectUri');\r\n\r\n if (redirectUriValue) {\r\n setRedirectUri(redirectUriValue);\r\n }\r\n }, []);\r\n\r\n if (auth0User && userProfile) {\r\n return ;\r\n }\r\n\r\n return
\r\n
\r\n \r\n
\r\n
;\r\n};\r\n","export default \"data:image/png;base64,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\"","import {useEffect, useState} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport axios from 'axios';\r\nimport {IStore} from 'redux/interface';\r\nimport {errorHandler} from 'redux/errorHandler';\r\nimport {BotType, HistoryRequestType, IBot, IBotAnswer, IDialog, IMessageModel, IUseChatBot, IXpedition, MessageType} from './interfaces';\r\nimport {ToastKey} from 'components/gritx-toast/ToastKeyEnum';\r\n\r\nfunction getTimeZoneOffset() {\r\n const tz = (new Date().getTimezoneOffset() * (-1)) / 60;\r\n\r\n return tz > 0 ? `+${tz.toString()}` : tz.toString();\r\n}\r\n\r\nfunction getHeaders(token: string): { Authorization: string, API_KEY: string | undefined } {\r\n return {\r\n Authorization: token,\r\n API_KEY: process.env.REACT_APP_API_KEY\r\n };\r\n}\r\n\r\nexport const useChatBot = (botType: BotType): IUseChatBot => {\r\n const {\r\n auth: {\r\n auth0Client,\r\n auth0User\r\n },\r\n translation: {\r\n locale\r\n }\r\n } = useSelector((store: IStore) => store);\r\n const dispatch = useDispatch();\r\n const [dialog, setDialog] = useState(null);\r\n const [botAnswer, setBotAnswers] = useState([]);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [xpeditionList, setXpeditionList] = useState([]);\r\n\r\n async function getToken(): Promise {\r\n try {\r\n const isAuthenticated = await auth0Client.isAuthenticated();\r\n\r\n if (isAuthenticated) {\r\n return await auth0Client.getTokenSilently();\r\n }\r\n } catch (e) {\r\n console.log('useChatBot getToken', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.GetToken,\r\n actionKey: 'useChatBot getToken',\r\n error: e\r\n }));\r\n }\r\n\r\n return '';\r\n }\r\n\r\n async function makeDialogRead(dialogId: number): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.post(\r\n `${process.env.REACT_APP_API_URL}/dialog/read`,\r\n {\r\n dialogueId: dialogId\r\n },\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n\r\n return response;\r\n }\r\n\r\n async function fetchMedia(answers: IBotAnswer[] = []) {\r\n answers.forEach(answer => {\r\n if (answer.type !== MessageType.Picture\r\n && !answer.picture) {\r\n return;\r\n }\r\n\r\n if (answer.picture?.fileId && !answer.picture.fileUrl) {\r\n axios\r\n .get<{ value: string }>(`${process.env.REACT_APP_API_URL}/media/download/${answer.picture.fileId}/false`)\r\n .then(urlData => {\r\n if (answer.picture && urlData.data && urlData.data.value) {\r\n const newAnswers = answers;\r\n const newAnswer = answer;\r\n const index = newAnswers.findIndex(an => an.messageId === answer.messageId);\r\n\r\n newAnswer.picture = {\r\n fileId: answer.picture.fileId,\r\n fileUrl: urlData.data.value\r\n };\r\n newAnswers[index] = newAnswer;\r\n setBotAnswers([...newAnswers]);\r\n }\r\n })\r\n .catch((error) => {\r\n console.log('useChatBot fetchMedia', error);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.FetchMedia,\r\n actionKey: 'useChatBot fetchMedia',\r\n error: error\r\n }));\r\n });\r\n }\r\n });\r\n }\r\n\r\n async function sendMessage(type: T, data: IMessageModel[T]) {\r\n setBotAnswers([]);\r\n const token = await getToken();\r\n\r\n if (dialog && botType !== BotType.Interview) {\r\n await makeDialogRead(dialog.id);\r\n }\r\n setIsLoading(true);\r\n const {data: answers} = await axios.post(\r\n `${process.env.REACT_APP_API_URL}/message/send`,\r\n {\r\n dialogueId: dialog?.id,\r\n date: new Date().toISOString(),\r\n message: {\r\n ...data,\r\n sender: {\r\n type: 'CLIENT',\r\n name: auth0User?.nickname,\r\n avatar: 0, // todo get user avatar\r\n zoneOffset: getTimeZoneOffset()\r\n },\r\n type\r\n }\r\n },\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setBotAnswers(answers);\r\n if (answers.length) {\r\n await fetchMedia(answers);\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n async function addDialog(botId: number): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.post(\r\n `${process.env.REACT_APP_API_URL}/dialog/add`,\r\n {botId},\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n\r\n return response;\r\n }\r\n\r\n async function getBotList(): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.get(\r\n `${process.env.REACT_APP_API_URL}/bot/list`,\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n\r\n return response || [];\r\n }\r\n\r\n async function getDialogList(): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.get(\r\n `${process.env.REACT_APP_API_URL}/dialog/list`,\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n\r\n return response || [];\r\n }\r\n\r\n async function getMainDialog(): Promise {\r\n const token = await getToken();\r\n\r\n try {\r\n const {data} = await axios.get(\r\n `${process.env.REACT_APP_API_URL}/dialog/main`,\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n\r\n return data;\r\n } catch (e) {\r\n if (e?.response?.status === 400) {\r\n try {\r\n const botList = await getBotList();\r\n const mainBot = botList.find((bot) => bot.indMain);\r\n const dialogList = await getDialogList();\r\n // look for main dialog\r\n const mainDialog = dialogList.filter((dialogItem) => dialogItem.botId === mainBot?.id);\r\n\r\n // if maindialog found\r\n\r\n if (mainDialog.length) {\r\n setIsLoading(false);\r\n\r\n return mainDialog[0];\r\n }\r\n\r\n // if main dialog not found\r\n\r\n if (mainBot) {\r\n await addDialog(mainBot.id);\r\n\r\n return await getMainDialog();\r\n }\r\n } catch (error) {\r\n console.log('useChatBot getBotList', error);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.GetBotList,\r\n actionKey: 'useChatBot getBotList',\r\n error: error\r\n }));\r\n }\r\n }\r\n console.log('useChatBot getMainDialog', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.GetMainDialog,\r\n actionKey: 'useChatBot getMainDialog',\r\n error: e\r\n }));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async function getDialogById(dialogId: number): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.get(\r\n `${process.env.REACT_APP_API_URL}/dialog/${dialogId}`,\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n if (botType === BotType.Xpedition) {\r\n setDialog(response);\r\n }\r\n\r\n return response || null;\r\n }\r\n\r\n async function setDialogLanguage(language: string, dialogId = dialog?.id) {\r\n if (!dialogId) {\r\n return null;\r\n }\r\n setIsLoading(true);\r\n const token = await getToken();\r\n\r\n try {\r\n const {data: response} = await axios.post<{ value: boolean }>(\r\n `${process.env.REACT_APP_API_URL}/dialog/set/language`,\r\n {\r\n id: dialogId,\r\n language\r\n },\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n\r\n return response;\r\n } catch (error) {\r\n console.log('setDialogLanguage', error);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.SetDialogLanguage,\r\n actionKey: 'useChatBot setDialogLanguage',\r\n error: error\r\n }));\r\n\r\n return null;\r\n }\r\n }\r\n\r\n async function removeDialog(dialogId: number): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.post(\r\n `${process.env.REACT_APP_API_URL}/dialog/remove`,\r\n {\r\n dialogueId: dialogId\r\n },\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n if (dialogId === dialog?.id) {\r\n setDialog(null);\r\n }\r\n setBotAnswers([]);\r\n\r\n return response;\r\n }\r\n\r\n async function setDialogAvatar(dialogId: number, fileId: number): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.post(\r\n `${process.env.REACT_APP_API_URL}/dialog/set/avatar`,\r\n {\r\n dialogueId: dialogId,\r\n fileId\r\n },\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n\r\n return response;\r\n }\r\n\r\n async function setDialogName(dialogId: number, dialogName: string): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.post(\r\n `${process.env.REACT_APP_API_URL}/dialog/set/avatar`,\r\n {\r\n dialogueId: dialogId,\r\n dialogueName: dialogName\r\n },\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n\r\n return response;\r\n }\r\n\r\n async function getDialogHistory(\r\n dialogId: number,\r\n type: HistoryRequestType,\r\n limit = 10,\r\n offset = 0\r\n ): Promise {\r\n setIsLoading(true);\r\n const token = await getToken();\r\n const {data: response} = await axios.get(\r\n `${process.env.REACT_APP_API_URL}/history/${dialogId}?type=${type}&limit=${limit}&offset=${offset}`,\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n setIsLoading(false);\r\n fetchMedia(response);\r\n if (botType === BotType.Xpedition || botType === BotType.Interview) {\r\n setBotAnswers(response.reverse());\r\n }\r\n\r\n return response || null;\r\n }\r\n\r\n // ------xpedition------\r\n async function getXpeditionList() {\r\n setXpeditionList([]);\r\n const token = await getToken();\r\n\r\n try {\r\n const {data: xpeditions} = await axios.get(\r\n `${process.env.REACT_APP_API_URL}/xpedition/list`,\r\n {\r\n headers: getHeaders(token),\r\n params: {\r\n language: locale\r\n }\r\n }\r\n );\r\n\r\n setXpeditionList(xpeditions);\r\n } catch (error) {\r\n console.log('getXpeditionList', error);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.GetXpeditionList,\r\n actionKey: 'useChatBot getXpeditionList',\r\n error: error\r\n }));\r\n }\r\n }\r\n\r\n async function startXpedition(xpeditionId: number) {\r\n const token = await getToken();\r\n\r\n try {\r\n const {data: {value: dialogId} } = await axios.post<{ value: number }>(\r\n `${process.env.REACT_APP_API_URL}/xpedition/start`,\r\n {\r\n xpeditionId,\r\n language: locale\r\n },\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n await getDialogById(dialogId);\r\n await getDialogHistory(dialogId, HistoryRequestType.Last);\r\n } catch (error) {\r\n console.log('startXpedition', error);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.StartXpedition,\r\n actionKey: 'useChatBot startXpedition',\r\n error: error\r\n }));\r\n }\r\n }\r\n\r\n // ---------------------\r\n\r\n // --------self-interview-------\r\n async function startInterview(interviewId: number) {\r\n const token = await getToken();\r\n\r\n setIsLoading(true);\r\n try {\r\n const {data: {value: dialogId} } = await axios.post<{ value: number }>(\r\n `${process.env.REACT_APP_API_URL}/self-interview/start`,\r\n {\r\n interviewId,\r\n alwaysCreate: true,\r\n language: locale\r\n },\r\n {headers: getHeaders(token)}\r\n );\r\n\r\n const interviewDialog = await getDialogById(dialogId);\r\n\r\n await getDialogHistory(dialogId, HistoryRequestType.Last);\r\n setIsLoading(false);\r\n setDialog(interviewDialog);\r\n } catch (error) {\r\n console.log('startInterview', error);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.StartInterview,\r\n actionKey: 'useChatBot startInterview',\r\n error: error\r\n }));\r\n }\r\n }\r\n\r\n // -----------------------------\r\n\r\n useEffect(() => {\r\n if (botType === BotType.Chat) {\r\n getMainDialog()\r\n .then((data) => {\r\n setDialog(data);\r\n });\r\n }\r\n }, []);\r\n\r\n return {\r\n currentDialog: dialog,\r\n isLoading,\r\n botAnswer,\r\n sendMessage,\r\n getBotList,\r\n xpedition: {\r\n getXpeditionList,\r\n xpeditionList,\r\n startXpedition\r\n },\r\n dialogMethods: {\r\n addDialog,\r\n getDialogList,\r\n getMainDialog,\r\n getDialogById,\r\n makeDialogRead,\r\n removeDialog,\r\n setDialogAvatar,\r\n setDialogName,\r\n startInterview,\r\n setDialogLanguage\r\n }\r\n };\r\n};\r\n","import React, {FunctionComponent} from 'react';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\nimport {IXpedition} from 'utils/hooks/use-chat-bot/interfaces';\r\n\r\nimport GritxButton from 'components/gritx-button';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IXpeditionItem {\r\n xpedition: IXpedition;\r\n onStart: (botId: number) => void;\r\n onRemove: (dialogId: number) => void;\r\n}\r\n\r\nexport const XpeditionItem: FunctionComponent = ({\r\n xpedition,\r\n onStart,\r\n onRemove\r\n}: IXpeditionItem) => {\r\n const intl = useIntl();\r\n\r\n function handleStartXpedition(botId: number) {\r\n return () => {\r\n onStart(botId);\r\n };\r\n }\r\n\r\n function handleRemoveDialog(item: IXpedition) {\r\n return () => {\r\n if (item.dialogId) {\r\n onRemove(item.dialogId);\r\n }\r\n };\r\n }\r\n\r\n // ----------\r\n\r\n return
\r\n
\r\n

\r\n {xpedition.theme}\r\n

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

{xpedition.description}

\r\n
\r\n
\r\n \r\n \r\n {`${xpedition.percentage}%`}\r\n \r\n \r\n {\r\n xpedition.dialogId\r\n ? \r\n : \r\n }\r\n \r\n \r\n {\r\n xpedition.dialogId && <>\r\n \r\n \r\n }\r\n
\r\n
\r\n
;\r\n};\r\n","import React, {FunctionComponent} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport {useSelector} from 'react-redux';\r\n\r\nimport {IXpedition} from 'utils/hooks/use-chat-bot/interfaces';\r\nimport {useLoadFile} from 'utils/hooks/useLoadFile';\r\nimport {IStore} from 'redux/interface';\r\nimport BotIcon from 'assets/image/user-settings/BotDefaultAvatar.png';\r\n\r\nimport Loader from 'components/loader';\r\n\r\nimport {XpeditionItem} from './xpedition-item/XpeditionItem';\r\n\r\ninterface IXpeditionList {\r\n xpeditionList: IXpedition[]\r\n onStart: (botId: number) => void\r\n onRemove: (dialogId: number) => void\r\n}\r\n\r\nexport const XpeditionList: FunctionComponent = ({\r\n xpeditionList,\r\n onStart,\r\n onRemove\r\n}: IXpeditionList) => {\r\n const {auth: {userProfile} } = useSelector((state: IStore) => state);\r\n const {getFileUrl} = useLoadFile();\r\n\r\n function handleStartXpedition(botId: number) {\r\n onStart(botId);\r\n }\r\n\r\n function handleRemoveDialog(dialogId: number) {\r\n onRemove(dialogId);\r\n }\r\n\r\n function getBotAvatar() {\r\n return userProfile?.dialogAvatarId ? getFileUrl(userProfile.dialogAvatarId) : BotIcon;\r\n }\r\n\r\n if (xpeditionList.length === 0) {\r\n return ;\r\n }\r\n\r\n const renderContent = () => {\r\n return <>\r\n {\r\n xpeditionList.map(item => {\r\n return ;\r\n })\r\n }\r\n ;\r\n };\r\n const renderMessages = () => {\r\n return
\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
;\r\n };\r\n\r\n return
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {renderMessages()}\r\n
\r\n
\r\n
\r\n\r\n
\r\n {renderContent()}\r\n
\r\n
\r\n
;\r\n};\r\n","export default function setIsBodyScrolling(state: boolean): void {\r\n const body = document.querySelector('body');\r\n\r\n if (body) {\r\n if (!state) {\r\n body.classList\r\n .add('stop-scrolling');\r\n } else {\r\n body\r\n .classList\r\n .remove('stop-scrolling');\r\n }\r\n }\r\n}\r\n","import React, {useEffect, useRef, useState} from 'react';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\nimport cn from 'classnames';\r\n\r\nimport {IArticle} from 'redux/content/interfaces';\r\n\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport GritxButton from 'components/gritx-button';\r\nimport ModalWindow from 'components/modal-window';\r\n\r\nimport './styles.scss';\r\n\r\nconst delay = 50;\r\nconst scale = 1;\r\nconst imageSize = 300;\r\nconst initialRadius = 70;\r\nconst initialFontSize = 18;\r\n\r\ninterface IMeditationArticle {\r\n card: IArticle\r\n}\r\n\r\nenum MeditationMedia {\r\n background = 'BACKGROUND',\r\n audio = 'AUDIO'\r\n}\r\n\r\nenum MeditationSteps {\r\n 'breathIn' = 'breathIn',\r\n 'breathOut' = 'breathOut',\r\n 'holdIn' = 'holdIn',\r\n 'holdOut' = 'holdOut',\r\n}\r\n\r\nfunction getStep(currentStep: MeditationSteps) {\r\n switch (currentStep) {\r\n case MeditationSteps.breathIn:\r\n return MeditationSteps.holdIn;\r\n case MeditationSteps.holdIn:\r\n return MeditationSteps.breathOut;\r\n case MeditationSteps.breathOut:\r\n return MeditationSteps.holdOut;\r\n default:\r\n return MeditationSteps.breathIn;\r\n }\r\n}\r\n\r\nfunction startTimer(callback: () => void) {\r\n return setInterval(() => {\r\n callback();\r\n }, delay);\r\n}\r\n\r\nfunction stopTimer(id: NodeJS.Timeout) {\r\n clearInterval(id);\r\n}\r\n\r\nfunction getTimeInSec(time: number): number {\r\n return Math.floor(time / 1000);\r\n}\r\n\r\nexport const Meditation = ({card}: IMeditationArticle): JSX.Element => {\r\n const audioRef = useRef(null);\r\n const intl = useIntl();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [meditationDuration, setMeditationDuration] = useState(0);\r\n const [timerId, setTimerId] = useState(null);\r\n\r\n const [currentTime, setCurrentTime] = useState(0);\r\n const [currentStep, setCurrentStep] = useState(MeditationSteps.breathIn);\r\n const [currentStepTime, setCurrentStepTime] = useState(0);\r\n const [isShowStartButton, setIsShowStartButton] = useState(false);\r\n\r\n function handleTimerTick() {\r\n let time = -1;\r\n // calculate time\r\n\r\n if (audioRef.current) {\r\n time = Math.floor(audioRef.current.currentTime * 1000);\r\n }\r\n setCurrentTime(time);\r\n if (time >= meditationDuration && timerId) {\r\n stopTimer(timerId);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setCurrentStepTime(card.breathIn);\r\n }, [card]);\r\n\r\n useEffect(() => {\r\n if (isOpen && meditationDuration) {\r\n setTimerId(startTimer(handleTimerTick));\r\n }\r\n }, [isOpen, meditationDuration]);\r\n\r\n useEffect(() => {\r\n // calculate steps\r\n if (currentStepTime <= 0 && currentTime <= meditationDuration) {\r\n const step = currentTime !== 0 ? getStep(currentStep) : currentStep;\r\n\r\n setCurrentStep(step);\r\n if (typeof card[step] === 'number') {\r\n setCurrentStepTime(card[step] as number);\r\n } else {\r\n setCurrentStepTime(0);\r\n }\r\n } else {\r\n setCurrentStepTime(currentStepTime - delay);\r\n }\r\n }, [currentTime]);\r\n\r\n function handleStartMeditation() {\r\n setIsOpen(true);\r\n }\r\n\r\n function handleStopMeditation() {\r\n setIsOpen(false);\r\n setCurrentTime(0);\r\n setCurrentStep(MeditationSteps.breathIn);\r\n setCurrentStepTime(card.breathIn);\r\n setIsShowStartButton(false);\r\n window.scrollTo(0, 0);\r\n\r\n if (timerId) {\r\n stopTimer(timerId);\r\n }\r\n }\r\n\r\n function getMediaUrl(type: MeditationMedia) {\r\n return card.mediaList?.filter(item => item.type === type)[0]?.url || '';\r\n }\r\n\r\n function handleLoadMetadata() {\r\n const audio = audioRef.current;\r\n\r\n if (audio) {\r\n setMeditationDuration(audio.duration * 1000);\r\n setIsShowStartButton(false);\r\n audio.play();\r\n }\r\n }\r\n\r\n function getScaleModification() {\r\n switch (currentStep) {\r\n case MeditationSteps.breathIn:\r\n return 1 + (scale * (card.breathIn - currentStepTime)) / card.breathIn;\r\n case MeditationSteps.holdIn:\r\n return 1 + scale;\r\n case MeditationSteps.breathOut:\r\n return 1 + scale + (scale * (currentStepTime - card.breathOut)) / card.breathOut;\r\n default:\r\n return 1;\r\n }\r\n }\r\n\r\n const radius = initialRadius * getScaleModification();\r\n const calculateSector = () => ((2 * Math.PI * radius * currentTime) / meditationDuration) || 0;\r\n\r\n const isShowMeditationMessage = getTimeInSec(meditationDuration - 15000) <= getTimeInSec(currentTime)\r\n && getTimeInSec(currentTime) !== getTimeInSec(meditationDuration);\r\n\r\n function handleStart() {\r\n if (audioRef.current) {\r\n audioRef.current.play();\r\n }\r\n setCurrentTime(0);\r\n setCurrentStep(MeditationSteps.breathIn);\r\n setCurrentStepTime(card.breathIn);\r\n setIsShowStartButton(false);\r\n }\r\n\r\n if (currentTime && getTimeInSec(meditationDuration) === getTimeInSec(currentTime)) {\r\n setTimeout(() => {\r\n setIsShowStartButton(true);\r\n }, 5000);\r\n }\r\n\r\n return
\r\n \r\n \r\n <>\r\n {\r\n getMediaUrl(MeditationMedia.audio)\r\n ? <>\r\n \r\n \r\n \r\n \r\n : null\r\n }\r\n {\r\n !isShowStartButton\r\n ? <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

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

\r\n
\r\n

\r\n \r\n

\r\n\r\n
\r\n
\r\n \r\n :
\r\n \r\n
\r\n }\r\n \r\n \r\n
;\r\n};\r\n","import React, {ReactElement, useEffect} from 'react';\r\nimport Modal from 'react-modal';\r\nimport cn from 'classnames';\r\n\r\nimport setIsBodyScrolling from 'utils/helpers/setIsBodyScrolling';\r\n\r\nimport './styles.scss';\r\n\r\ntype ModalProps = {\r\n show: boolean;\r\n onHide?: () => void;\r\n className?: string;\r\n children?: ReactElement | null;\r\n footerElement?: ReactElement | null;\r\n styles?: Modal.Styles\r\n};\r\n\r\nexport const ModalWindow = ({\r\n show,\r\n onHide,\r\n className,\r\n children,\r\n footerElement,\r\n styles\r\n}: ModalProps): JSX.Element => {\r\n useEffect(() => {\r\n setIsBodyScrolling(!show);\r\n\r\n return () => setIsBodyScrolling(true);\r\n }, [show]);\r\n\r\n return \r\n
\r\n \r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n {footerElement}\r\n
\r\n ;\r\n};\r\n","import {ModalWindow} from './ModalWindow';\r\nexport default ModalWindow;\r\n","import React, {FunctionComponent, useEffect, useState} from 'react';\r\nimport {useDispatch} from 'react-redux';\r\n\r\nimport {IBotAction} from 'utils/hooks/use-chat-bot/interfaces';\r\nimport {contentAsyncActions, getArticle} from 'redux/pageAsyncActions';\r\n\r\nimport DForm from 'components/d-form';\r\n\r\nimport {IOverlayAction} from './interfaces';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IOverlay {\r\n overlay: IBotAction,\r\n onChange: (actionBody: string) => void,\r\n onFinish?: () => void,\r\n lastMessageDate?: Date\r\n}\r\n\r\nenum CheckboxValue {\r\n True = 'Yes',\r\n False = 'No'\r\n}\r\n\r\nexport const Overlay: FunctionComponent = ({\r\n overlay,\r\n onChange,\r\n onFinish,\r\n lastMessageDate\r\n}: IOverlay) => {\r\n const dispatch = useDispatch();\r\n const [action, setAction] = useState();\r\n const [dataForSend, setDataForSend] = useState('');\r\n const [error, setError] = useState('');\r\n const [isShowError, setIsShowError] = useState(false);\r\n\r\n useEffect(() => {\r\n const parsedAction = JSON.parse(overlay.actionBody) as IOverlayAction;\r\n const {\r\n contentInfo,\r\n remind,\r\n form\r\n } = parsedAction.addActionBody;\r\n\r\n if (contentInfo) {\r\n const {code} = contentInfo;\r\n\r\n dispatch(contentAsyncActions[getArticle](code));\r\n setDataForSend(overlay.actionBody);\r\n }\r\n if (remind) {\r\n // todo remove\r\n setDataForSend(overlay.actionBody);\r\n }\r\n\r\n if (form && form.finish && onFinish) {\r\n onFinish();\r\n }\r\n setAction(parsedAction);\r\n }, []);\r\n\r\n useEffect(() => {\r\n onChange(dataForSend);\r\n }, [dataForSend]);\r\n\r\n function handleChangeDCheckbox(controlIdx: number) {\r\n return (inputIdx: number, checkboxData: boolean) => {\r\n const newAction = action;\r\n\r\n if (!newAction?.addActionBody.form) {\r\n return;\r\n }\r\n const currentControl = newAction\r\n .addActionBody\r\n .form.controls[controlIdx];\r\n const selectedPrev = currentControl.inputs.filter(input => input.value !== CheckboxValue.False && input.type === 'checkbox');\r\n\r\n if (checkboxData && selectedPrev.length === currentControl.max) {\r\n return;\r\n }\r\n\r\n newAction\r\n .addActionBody\r\n .form\r\n .controls[controlIdx]\r\n .inputs[inputIdx]\r\n .value = checkboxData ? CheckboxValue.True : CheckboxValue.False;\r\n\r\n const changedValue = JSON.stringify(newAction);\r\n\r\n setAction(JSON.parse(changedValue));\r\n\r\n const selectedCur = currentControl.inputs.filter(input => input.value !== 'No' && input.type === 'checkbox');\r\n\r\n if (currentControl.min && selectedCur.length < currentControl.min) {\r\n setError(`please check ${currentControl.min} items`); // todo\r\n setDataForSend('');\r\n } else {\r\n setError('');\r\n setIsShowError(false);\r\n setDataForSend(changedValue);\r\n }\r\n };\r\n }\r\n\r\n function handleChangeDRadio(controlIdx: number) {\r\n return (inputIdx: number, radioValue: string) => {\r\n const newAction = action;\r\n\r\n if (!newAction?.addActionBody.form) {\r\n return;\r\n }\r\n newAction\r\n .addActionBody\r\n .form\r\n .controls[controlIdx]\r\n .inputs[inputIdx]\r\n .value = radioValue;\r\n\r\n const changedValue = JSON.stringify(newAction);\r\n\r\n setAction(JSON.parse(changedValue));\r\n setDataForSend(changedValue);\r\n };\r\n }\r\n\r\n function handleChangeDInput(controlIdx: number) {\r\n return (inputIdx: number, inputData: string) => {\r\n const newAction = action;\r\n\r\n if (!newAction?.addActionBody.form) {\r\n return;\r\n }\r\n newAction\r\n .addActionBody\r\n .form\r\n .controls[controlIdx]\r\n .inputs[inputIdx]\r\n .value = inputData;\r\n\r\n const changedValue = JSON.stringify(newAction);\r\n\r\n setAction(JSON.parse(changedValue));\r\n if (inputData.length) {\r\n setDataForSend(changedValue);\r\n } else {\r\n setDataForSend('');\r\n }\r\n };\r\n }\r\n\r\n function handleChangeDButton(controlIdx: number) {\r\n return (inputIdx: number, inputData: string) => {\r\n const newAction = action;\r\n\r\n if (!newAction?.addActionBody.form) {\r\n return;\r\n }\r\n newAction\r\n .addActionBody\r\n .form\r\n .controls[controlIdx]\r\n .inputs[inputIdx]\r\n .value = inputData;\r\n\r\n const changedValue = JSON.stringify(newAction);\r\n\r\n setAction(JSON.parse(changedValue));\r\n if (inputData.length) {\r\n setDataForSend(changedValue);\r\n } else {\r\n setDataForSend('');\r\n }\r\n };\r\n }\r\n\r\n function handleChangeDChoice(controlIdx: number) {\r\n return (inputIdx: number, choiceValue: string) => {\r\n const newAction = action;\r\n\r\n if (!newAction?.addActionBody.form) {\r\n return;\r\n }\r\n newAction\r\n .addActionBody\r\n .form\r\n .controls[controlIdx]\r\n .inputs[inputIdx]\r\n .value = choiceValue;\r\n\r\n const changedValue = JSON.stringify(newAction);\r\n\r\n setAction(JSON.parse(changedValue));\r\n setDataForSend(changedValue);\r\n };\r\n }\r\n\r\n if (!action) {\r\n return null;\r\n }\r\n const {\r\n form,\r\n contentInfo,\r\n actions,\r\n remind\r\n } = action.addActionBody;\r\n\r\n if (form) {\r\n return
\r\n {\r\n form.controls.map((control, controlIdx) => {\r\n return
\r\n \r\n
;\r\n })\r\n }\r\n {isShowError &&

{error}

}\r\n
;\r\n }\r\n if (contentInfo) {\r\n return null;\r\n }\r\n if (lastMessageDate && remind && actions.filter((item) => item.value_code === 'Overlay').length) {\r\n return \r\n timer {remind - (new Date().getTime() - lastMessageDate.getTime()) / 1000 / 60}\r\n ;\r\n }\r\n\r\n return

{JSON.stringify(action.addActionBody)}

;\r\n};\r\n","import {Meditation} from './Meditation';\r\nexport default Meditation;\r\n","import React from 'react';\r\n\r\nimport {IArticle} from 'redux/content/interfaces';\r\nimport Loader from 'components/loader';\r\n\r\nimport './styles.scss';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\ninterface IPreviewPage {\r\n journal: IArticle\r\n}\r\n\r\nexport const PreviewPage = ({\r\n journal\r\n}: IPreviewPage): JSX.Element => {\r\n if (!journal) {\r\n return ;\r\n }\r\n\r\n return
\r\n
\r\n {\r\n journal.pages.map((item, index) => {\r\n return
\r\n

\r\n \r\n

\r\n \r\n

{item.text || ''}

\r\n
;\r\n })\r\n }\r\n
\r\n
;\r\n};\r\n","import React, {ChangeEvent} from 'react';\r\nimport {useIntl} from 'react-intl';\r\nimport cn from 'classnames';\r\n\r\nimport {IArticle} from 'redux/content/interfaces';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport GritxButton from 'components/gritx-button';\r\nimport Loader from 'components/loader';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IJournalPage {\r\n journal: IArticle\r\n currentPage: number\r\n onChangePage: (btn: 'next' | 'prev') => void\r\n onClickDone: () => void\r\n isLastPage: boolean,\r\n onChangeAnswer: (model: IArticle) => void\r\n}\r\n\r\nexport const JournalPage = ({\r\n journal,\r\n currentPage,\r\n onClickDone,\r\n onChangePage,\r\n isLastPage,\r\n onChangeAnswer\r\n}: IJournalPage): JSX.Element => {\r\n const intl = useIntl();\r\n\r\n function handleChangeAnswer(e: ChangeEvent) {\r\n if (!journal) {\r\n return;\r\n }\r\n const newJournal = {\r\n ...journal,\r\n pages: [...journal.pages]\r\n };\r\n\r\n newJournal.pages[currentPage].text = e.target.value;\r\n onChangeAnswer(newJournal);\r\n }\r\n\r\n function handleChangePage(btn: 'next' | 'prev') {\r\n return () => onChangePage(btn);\r\n }\r\n\r\n function handlePressDone() {\r\n onClickDone();\r\n }\r\n\r\n if (!journal) {\r\n return ;\r\n }\r\n\r\n return <>\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n isLastPage\r\n ? <>\r\n \r\n \r\n : <>\r\n \r\n \r\n }\r\n
\r\n ;\r\n};\r\n","import {Journal} from './Journal';\r\nexport default Journal;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useDispatch} from 'react-redux';\r\nimport {useIntl} from 'react-intl';\r\n\r\nimport {IArticle} from 'redux/content/interfaces';\r\nimport {contentAsyncActions, saveJournal} from 'redux/pageAsyncActions';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport GritxButton from 'components/gritx-button';\r\nimport Loader from 'components/loader';\r\n\r\nimport {PreviewPage} from './PreviewPage';\r\nimport {JournalPage} from './JournalPage';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IJournalArticle {\r\n card: IArticle\r\n onStart: () => void\r\n onStop: () => void\r\n onChangePage: (page: number | null) => void\r\n}\r\n\r\nexport const Journal = ({\r\n card,\r\n onStart,\r\n onStop,\r\n onChangePage\r\n}: IJournalArticle): JSX.Element => {\r\n const intl = useIntl();\r\n const dispatch = useDispatch();\r\n const [isStartJournal, setIsStartJournal] = useState(false);\r\n const [isLastPage, setIsLastPage] = useState(false);\r\n const [currentPage, setCurrentPage] = useState(0);\r\n const [journal, setJournal] = useState(null);\r\n const [isShowPreview, setIsShowPreview] = useState(false);\r\n const [isShowLastEntry, setIsShowLastEntry] = useState(false);\r\n\r\n function scrollToTop() {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n function forgetIt() {\r\n if (card && card.pages.length === 1) {\r\n setIsLastPage(true);\r\n } else {\r\n setIsLastPage(false);\r\n }\r\n setIsStartJournal(false);\r\n setCurrentPage(0);\r\n setJournal({\r\n ...card,\r\n pages: [...card.pages]\r\n });\r\n setIsShowPreview(false);\r\n onStop();\r\n }\r\n\r\n useEffect(() => {\r\n setJournal({\r\n ...card,\r\n pages: [...card.pages]\r\n });\r\n }, [card]);\r\n useEffect(() => {\r\n forgetIt();\r\n }, [card.id]);\r\n useEffect(() => {\r\n onChangePage(currentPage);\r\n }, [currentPage]);\r\n useEffect(() => {\r\n function handleCloseTab(e: BeforeUnloadEvent) {\r\n if (isStartJournal) {\r\n const message = intl.formatMessage({\r\n id: 'gritx.common.notification.close-tab',\r\n defaultMessage: 'Changes you made may not be saved.'\r\n });\r\n\r\n (e || window.event).returnValue = message;\r\n\r\n return message;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n window.addEventListener('beforeunload', handleCloseTab);\r\n\r\n return () => window.removeEventListener('beforeunload', handleCloseTab);\r\n }, [isStartJournal]);\r\n\r\n function handleStartJournal() {\r\n setIsStartJournal(true);\r\n setIsShowLastEntry(false);\r\n setJournal({\r\n ...card,\r\n pages: card.pages.map(page => ({\r\n ...page,\r\n text: ''\r\n }))\r\n });\r\n onStart();\r\n scrollToTop();\r\n }\r\n\r\n function handleViewLastEntry() {\r\n setJournal({\r\n ...card,\r\n pages: [...card.pages]\r\n });\r\n setIsShowLastEntry(true);\r\n }\r\n\r\n function getIsDisabledLastEntry(): boolean {\r\n if (journal?.pages?.length) {\r\n return !journal.pages.find(page => page?.text);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function getIsDisabledRemember(): boolean {\r\n if (journal?.pages?.length) {\r\n const answers = journal.pages.filter(page => page?.text);\r\n\r\n if (answers.length > 1) {\r\n return false;\r\n }\r\n if (answers.length === 1 && answers[0].text.length > 1) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function handleChangeAnswer(model: IArticle) {\r\n setJournal(model);\r\n }\r\n\r\n function handleChangePage(btn: 'next' | 'prev') {\r\n if (!journal) {\r\n return;\r\n }\r\n if (btn === 'next') {\r\n if (currentPage + 1 === journal.pages.length - 1) {\r\n setIsLastPage(true);\r\n }\r\n setCurrentPage(currentPage + 1);\r\n } else {\r\n if (currentPage === 0) {\r\n return;\r\n }\r\n setIsLastPage(false);\r\n setCurrentPage(currentPage - 1);\r\n }\r\n scrollToTop();\r\n }\r\n\r\n function handlePressDone() {\r\n setIsShowPreview(true);\r\n onChangePage(null);\r\n scrollToTop();\r\n }\r\n\r\n function handleRememberJournal() {\r\n if (journal) {\r\n dispatch(contentAsyncActions[saveJournal](journal));\r\n forgetIt();\r\n }\r\n }\r\n\r\n if (!journal) {\r\n return ;\r\n }\r\n\r\n const renderLastEntry = () => {\r\n return <>\r\n \r\n {isShowPreview &&
\r\n \r\n \r\n
}\r\n {\r\n isShowLastEntry &&
\r\n \r\n
\r\n }\r\n ;\r\n };\r\n\r\n if (!isStartJournal && !isShowLastEntry) {\r\n return
\r\n \r\n \r\n
;\r\n }\r\n\r\n if (!isShowPreview && !isShowLastEntry) {\r\n return ;\r\n }\r\n\r\n return
\r\n {renderLastEntry()}\r\n
;\r\n};\r\n","import {DCheckboxList} from './DCheckboxList';\r\n\r\nexport default DCheckboxList;\r\n","import React, {ChangeEvent, FunctionComponent} from 'react';\r\nimport {IOverlayInput} from 'components/overlay/interfaces';\r\nimport './styles.scss';\r\n\r\ninterface IDCheckboxList {\r\n control: IOverlayInput\r\n onChange: (value: boolean) => void\r\n}\r\n\r\nexport const DCheckboxList: FunctionComponent = ({\r\n control,\r\n onChange\r\n}: IDCheckboxList) => {\r\n function handleChangeCheckbox(e: ChangeEvent) {\r\n onChange(e.target.checked);\r\n }\r\n\r\n return
\r\n \r\n \r\n {control.label}\r\n \r\n
;\r\n};\r\n","import {DInput} from './DInput';\r\n\r\nexport default DInput;\r\n","import React, {ChangeEvent, FunctionComponent} from 'react';\r\nimport {IOverlayInput} from 'components/overlay/interfaces';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IDCheckboxList {\r\n control: IOverlayInput\r\n onChange: (value: string) => void\r\n}\r\n\r\nexport const DInput: FunctionComponent = ({\r\n control,\r\n onChange\r\n}: IDCheckboxList) => {\r\n function handleChangeInput(e: ChangeEvent) {\r\n onChange(e.target.value);\r\n }\r\n\r\n return ;\r\n};\r\n","import {DRadiobutton} from './DRadiobutton';\r\n\r\nexport default DRadiobutton;\r\n","import React, {ChangeEvent, FunctionComponent} from 'react';\r\nimport {IOverlayInput} from 'components/overlay/interfaces';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IDCheckboxList {\r\n control: IOverlayInput\r\n onChange: (value: string) => void\r\n}\r\n\r\nexport const DRadiobutton: FunctionComponent = ({\r\n control,\r\n onChange\r\n}: IDCheckboxList) => {\r\n function handleChangeRadio(e: ChangeEvent) {\r\n onChange(e.target.value);\r\n }\r\n\r\n return
\r\n {\r\n control.list?.map((radio) => {\r\n return <>\r\n \r\n \r\n {radio.label}\r\n \r\n ;\r\n })\r\n }\r\n
;\r\n};\r\n","import {DChoice} from './DChoice';\r\n\r\nexport default DChoice;\r\n","import React, {FunctionComponent, useEffect, useState} from 'react';\r\nimport {IOverlayInput} from 'components/overlay/interfaces';\r\n\r\nimport './styles.scss';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\ninterface IDChoice {\r\n control: IOverlayInput\r\n onChange: (value: string) => void\r\n}\r\n\r\nexport const DChoice: FunctionComponent = ({\r\n control,\r\n onChange\r\n}: IDChoice) => {\r\n const [choiceIdx, setChoiceIdx] = useState(0);\r\n\r\n useEffect(() => {\r\n if (control.list) {\r\n onChange(control.list[choiceIdx].value);\r\n }\r\n }, []);\r\n\r\n function handleChangeChoice() {\r\n if (control.list) {\r\n const newIdx = choiceIdx + 1 < control.list.length ? choiceIdx + 1 : 0;\r\n\r\n setChoiceIdx(newIdx);\r\n onChange(control.list[newIdx].value);\r\n }\r\n }\r\n\r\n if (!control.list) {\r\n return
\r\n \r\n
;\r\n }\r\n\r\n return ;\r\n};\r\n","import {DButton} from './DButton';\r\n\r\nexport default DButton;\r\n","import React, {FunctionComponent} from 'react';\r\nimport cn from 'classnames';\r\nimport {IOverlayInput} from 'components/overlay/interfaces';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IDButton {\r\n control: IOverlayInput\r\n onChange: (value: string) => void\r\n}\r\n\r\nexport const DButton: FunctionComponent = ({\r\n control,\r\n onChange\r\n}: IDButton) => {\r\n function handleChangeButton(value: string) {\r\n return () => {\r\n onChange(value);\r\n };\r\n }\r\n\r\n return <>\r\n {\r\n control.list?.map((button) => {\r\n return \r\n {button.label}\r\n ;\r\n })\r\n }\r\n ;\r\n};\r\n","import {DTextarea} from './DTextarea';\r\n\r\nexport default DTextarea;\r\n","import React, {ChangeEvent, FunctionComponent} from 'react';\r\nimport {IOverlayInput} from 'components/overlay/interfaces';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IDCheckboxList {\r\n control: IOverlayInput\r\n onChange: (value: string) => void\r\n}\r\n\r\nexport const DTextarea: FunctionComponent = ({\r\n control,\r\n onChange\r\n}: IDCheckboxList) => {\r\n function handleChangeInput(e: ChangeEvent) {\r\n onChange(e.target.value);\r\n }\r\n\r\n return ;\r\n};\r\n","import {DForm} from './DForm';\r\n\r\nexport default DForm;\r\n","import React, {FunctionComponent} from 'react';\r\nimport parse, {DOMNode} from 'html-react-parser';\r\nimport {Element} from 'domhandler';\r\n\r\nimport {IOverlayActionControl, IOverlayInput} from 'components/overlay/interfaces';\r\nimport DCheckboxList from 'components/d-checkbox-list';\r\nimport DInput from 'components/d-input';\r\nimport DRadiobutton from 'components/d-radiobutton';\r\nimport DChoice from 'components/d-choice';\r\nimport DButton from 'components/d-button';\r\nimport DTextarea from 'components/d-textarea';\r\n\r\nimport './styles.scss';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\ninterface IDForm {\r\n control: IOverlayActionControl\r\n onChangeCheckbox: (inputIdx: number, value: boolean) => void\r\n onChangeRadiobutton: (inputIdx: number, value: string) => void\r\n onChangeInput: (inputIdx: number, value: string) => void\r\n onChangeButton: (inputIdx: number, value: string) => void\r\n onChangeChoice: (inputIdx: number, value: string) => void\r\n}\r\n\r\nexport const DForm: FunctionComponent = ({\r\n control,\r\n onChangeCheckbox,\r\n onChangeRadiobutton,\r\n onChangeInput,\r\n onChangeButton,\r\n onChangeChoice\r\n}: IDForm) => {\r\n function handleChangeDCheckbox(inputIdx: number) {\r\n return (data: boolean) => {\r\n onChangeCheckbox(inputIdx, data);\r\n };\r\n }\r\n\r\n function handleChangeDInput(inputIdx: number) {\r\n return (data: string) => {\r\n onChangeInput(inputIdx, data);\r\n };\r\n }\r\n\r\n function handleChangeDRadio(inputIdx: number) {\r\n return (data: string) => {\r\n onChangeRadiobutton(inputIdx, data);\r\n };\r\n }\r\n\r\n function handleChangeDChoice(inputIdx: number) {\r\n return (data: string) => {\r\n onChangeChoice(inputIdx, data);\r\n };\r\n }\r\n\r\n function handleChangeDButton(inputIdx: number) {\r\n return (data: string) => {\r\n onChangeButton(inputIdx, data);\r\n };\r\n }\r\n\r\n function getComponent(input: IOverlayInput, inputIdx: number): JSX.Element | null {\r\n const formComponents: { [key: string]: JSX.Element } = {\r\n checkbox: ,\r\n text: ,\r\n textarea: ,\r\n radio: ,\r\n choice: ,\r\n button: \r\n };\r\n\r\n return formComponents[input.type] || null;\r\n }\r\n\r\n function parseForm() {\r\n return parse(control.text, {\r\n replace: (domNode: DOMNode) => {\r\n const node = domNode as Element;\r\n\r\n if (node && node.attribs?.id) {\r\n const id = node.attribs.id;\r\n const inputIdx = control.inputs.findIndex(item => item.name === id);\r\n const input = control.inputs[inputIdx];\r\n\r\n return getComponent(input, inputIdx) ||

\r\n \r\n
\r\n {JSON.stringify(control)}\r\n

;\r\n }\r\n if (node && node.attribs?.href) {\r\n node.attribs = {\r\n ...node.attribs,\r\n target: '_blank',\r\n rel: 'noreferrer'\r\n };\r\n }\r\n\r\n return node;\r\n }\r\n });\r\n }\r\n\r\n return <>{parseForm()};\r\n};\r\n","var _defs, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgChat(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"tab\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 99.72,\n height: 88.17,\n viewBox: \"0 0 99.72 88.17\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path\",\n transform: \"translate(-0.28 0)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.28,\n width: 99.72,\n height: 88.17,\n fill: \"none\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path-2\",\n transform: \"translate(-0.28 0)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.28,\n width: 99.72,\n height: 88.17,\n fill: \"none\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"chat\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip-path)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip-path-2)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62,67.94c-.37,1-.68,2-1.08,3a23,23,0,0,1-6.27,8.79A30.2,30.2,0,0,1,43,86a51.19,51.19,0,0,1-7.82,1.79,33.54,33.54,0,0,1-6.79.39,18,18,0,0,1-6.1-1.31A2.33,2.33,0,0,1,21,84.45a1.73,1.73,0,0,1,1-1.36,6.25,6.25,0,0,1,1.31-.48,21.5,21.5,0,0,0,7.76-3.67,30.9,30.9,0,0,0,6.3-6,28.92,28.92,0,0,0,4-6.55c0-.09.07-.19.13-.36-.5,0-1-.08-1.41-.1a42.64,42.64,0,0,1-7.19-1.19A88.61,88.61,0,0,1,21.29,61a60.75,60.75,0,0,1-9.47-4.41,20.79,20.79,0,0,1-8.44-8.86A28.7,28.7,0,0,1,.89,39.79,45.38,45.38,0,0,1,.3,31,21.68,21.68,0,0,1,2,23.32,26.75,26.75,0,0,1,6.87,16,44,44,0,0,1,25,3.7,60.73,60.73,0,0,1,36.51.63,45.5,45.5,0,0,1,46.4.06,82.3,82.3,0,0,1,56.54,1.29c6.44,1.14,12.73,2.85,19,4.6a49.75,49.75,0,0,1,9.73,4c1.11.59,2.23,1.17,3.33,1.79a5.38,5.38,0,0,1,1.91,1.57.46.46,0,0,0,.17.17,10.12,10.12,0,0,1,2.73,2.49,18.48,18.48,0,0,1,3.06,4.37,33,33,0,0,1,1.18,3.19A28.1,28.1,0,0,1,99,27.84c.18,1.08.31,2.17.44,3.25.16,1.31.27,2.62.42,3.93a15.51,15.51,0,0,1-.28,5.68,37.77,37.77,0,0,1-2.2,6.75,34.23,34.23,0,0,1-3.32,5.39,26.44,26.44,0,0,1-6.15,5.93,41.11,41.11,0,0,1-8.32,4.65c-1.36.58-2.67,1.28-4,1.81a42.47,42.47,0,0,1-8.28,2.41,23.36,23.36,0,0,1-4.42.3H62M29.17,84.42v.1c.2,0,.39,0,.59,0,.72,0,1.46-.06,2.18-.12,1-.06,2-.17,3-.33,1.74-.33,3.45-.73,5.17-1.15a30.43,30.43,0,0,0,8.92-3.64,20.35,20.35,0,0,0,9.18-11.41c.11-.34.19-.7.31-1a3.81,3.81,0,0,1,.74-1.46A3.66,3.66,0,0,1,62,64.26c1.52,0,3-.13,4.54-.3a36,36,0,0,0,8-2.43c1.51-.6,2.92-1.42,4.4-2.08a38.78,38.78,0,0,0,8-4.93,25.89,25.89,0,0,0,6.43-7.94,27.75,27.75,0,0,0,2.15-5.94,12.93,12.93,0,0,0,.4-5.36c-.2-1.5-.35-3-.49-4.53a17.44,17.44,0,0,0-.82-4.1c-.38-1.09-.72-2.2-1.11-3.29a10.2,10.2,0,0,0-.8-1.9,22.71,22.71,0,0,0-3.53-4.41c-.75-.75-1.66-1.45-1.41-2.75-.74-.36-1.42-.72-2.12-1A83.38,83.38,0,0,0,72.2,8.37c-4.89-1.25-9.75-2.63-14.73-3.51-2.25-.4-4.52-.76-6.79-1-1.85-.23-3.71-.37-5.57-.43a41.8,41.8,0,0,0-4.75.12,53.57,53.57,0,0,0-23.37,8,36.87,36.87,0,0,0-10.12,10,17.79,17.79,0,0,0-3.05,9.38A40.62,40.62,0,0,0,4,36.17a31.49,31.49,0,0,0,1.49,7.19,17,17,0,0,0,6.87,9.11,36,36,0,0,0,5.06,2.77,97.47,97.47,0,0,0,13.35,4.91,44.56,44.56,0,0,0,10.93,2,15.76,15.76,0,0,1,1.8.21,2.8,2.8,0,0,1,1.49.78,2.07,2.07,0,0,1,.55.92,3.35,3.35,0,0,1-.06,2.21c-.17.48-.32,1-.52,1.43a32,32,0,0,1-4.64,7.54,34,34,0,0,1-7.85,7.23c-1.09.69-2.21,1.34-3.32,2Z\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.17,84.43c1.11-.68,2.23-1.32,3.32-2a33.79,33.79,0,0,0,7.86-7.23A32.16,32.16,0,0,0,45,67.64c.2-.47.35-1,.52-1.43A3.35,3.35,0,0,0,45.57,64a2.15,2.15,0,0,0-.55-.93,2.86,2.86,0,0,0-1.49-.77,13.74,13.74,0,0,0-1.81-.21,44.64,44.64,0,0,1-10.93-2,97.34,97.34,0,0,1-13.34-4.91,36.65,36.65,0,0,1-5.07-2.77,17,17,0,0,1-6.86-9.11A31.07,31.07,0,0,1,4,36.16a40.69,40.69,0,0,1-.2-5.29,17.87,17.87,0,0,1,3-9.38A37,37,0,0,1,17,11.5a53.57,53.57,0,0,1,23.37-8,44.14,44.14,0,0,1,4.74-.13c1.87.07,3.73.21,5.58.44,2.27.27,4.54.64,6.79,1,5,.88,9.84,2.27,14.73,3.51a82.43,82.43,0,0,1,13.35,4.9c.7.31,1.38.67,2.11,1-.24,1.3.67,2,1.42,2.75a23.1,23.1,0,0,1,3.53,4.41,9.93,9.93,0,0,1,.8,1.9c.38,1.09.73,2.2,1.1,3.29a17.46,17.46,0,0,1,.83,4.1c.14,1.51.29,3,.49,4.53a12.94,12.94,0,0,1-.4,5.36,27.75,27.75,0,0,1-2.15,5.94,25.89,25.89,0,0,1-6.43,7.94,39.49,39.49,0,0,1-8,4.93c-1.48.67-2.9,1.49-4.4,2.08a35.78,35.78,0,0,1-8,2.42,43.28,43.28,0,0,1-4.55.31,3.66,3.66,0,0,0-2.66,1.11,3.81,3.81,0,0,0-.74,1.46c-.12.34-.2.69-.31,1a20.33,20.33,0,0,1-9.19,11.41,30.32,30.32,0,0,1-8.92,3.64c-1.71.42-3.43.82-5.16,1.15a27.86,27.86,0,0,1-3,.32c-.73.07-1.46.09-2.18.13h-.59ZM58.32,46.18c.35.59.64,1.15,1,1.67a4.16,4.16,0,0,0,.85.93,1.25,1.25,0,0,0,1.43.11,1.3,1.3,0,0,0,.72-1.25,2.79,2.79,0,0,0-.46-1.43,17.62,17.62,0,0,1-2.31-4.88,3.58,3.58,0,0,0-.21-.63,2.28,2.28,0,0,0-.44-.71,14.29,14.29,0,0,0-1.24-1,1.33,1.33,0,0,0-.37-.2,4.72,4.72,0,0,0-4.11.3,5.62,5.62,0,0,0-1.76,7.09,3.94,3.94,0,0,0,3.31,2.09,3.72,3.72,0,0,0,3.1-1.53ZM38.56,42.45c-.3-1.62-.59-3.15-.89-4.68s-.56-2.91-.86-4.36a3.19,3.19,0,0,0-.29-.8,1,1,0,0,0-1.06-.53.93.93,0,0,0-.83.78,2.06,2.06,0,0,0-.07.66,10.88,10.88,0,0,0,.11,1.27c.28,1.78.59,3.56.87,5.35s.55,3.81.82,5.72c.09.62.13,1.24.24,1.87A1.26,1.26,0,0,0,38,48.82a1.37,1.37,0,0,0,1.27-1.32,9.82,9.82,0,0,1,.13-1.33,4.27,4.27,0,0,1,1.47-2.47c.48-.4.74-.4,1.13.1a3.35,3.35,0,0,1,.57,1.11c.23,1,.38,1.91.58,2.86A1.32,1.32,0,0,0,44.58,49l.13,0a1.35,1.35,0,0,0,1.09-1.57s0,0,0-.07c-.14-.8-.29-1.59-.47-2.38a6.27,6.27,0,0,0-1.48-2.84,3.08,3.08,0,0,0-4.32-.45l-.09.08c-.28.22-.54.46-.87.75m29.81-2.57c0,.14,0,.22,0,.3.18,2,.37,4,.54,5.93a1.83,1.83,0,0,0,.76,1.33,1.29,1.29,0,0,0,1.83-.07,1.1,1.1,0,0,0,.2-.28,2,2,0,0,0,.34-1.32c-.17-1.48-.32-3-.47-4.42-.06-.64-.12-1.27-.18-1.93.45-.05.83-.09,1.21-.15a5,5,0,0,0,2-.48,1.26,1.26,0,0,0,.66-1.32,1.22,1.22,0,0,0-1-1,3.43,3.43,0,0,0-1.56.09l-1.64.32c-.1-.68-.16-1.3-.29-1.91a19.33,19.33,0,0,0-.57-2.11A1.07,1.07,0,0,0,69,32.13a1.19,1.19,0,0,0-1,1.09,2.94,2.94,0,0,0,0,.42c.06.91.13,1.82.19,2.73,0,.3,0,.59,0,.92l-1.82.19a9.46,9.46,0,0,0-1.49.25,1.12,1.12,0,0,0-.77,1.18,1.17,1.17,0,0,0,1,1.1,5,5,0,0,0,1,.05c.71,0,1.41-.12,2.17-.18M38.43,21.41c.61-.06,1.18-.07,1.73-.18a4,4,0,0,0,3-2,2.53,2.53,0,0,0-.9-3.47,2.66,2.66,0,0,0-.6-.26,4.67,4.67,0,0,0-3.92.48,5.22,5.22,0,0,0-1.66,6.74A5.72,5.72,0,0,0,41.25,26a4.1,4.1,0,0,0,2.13-.37A1.3,1.3,0,0,0,43,23.1a5.9,5.9,0,0,0-.84,0,6,6,0,0,0-.85,0,2.83,2.83,0,0,1-2.89-1.69M24.48,44.57v-.26a2.55,2.55,0,0,1,1.16-2.22A2.07,2.07,0,0,1,28.08,42l.12,0a1.1,1.1,0,0,0,1.4-.67,1.34,1.34,0,0,0,.06-.4,1.5,1.5,0,0,0-.7-1.21,3.1,3.1,0,0,0-1.71-.55A5.31,5.31,0,0,0,22.1,43a6.43,6.43,0,0,0,0,3.48A4.9,4.9,0,0,0,26.91,50a6.68,6.68,0,0,0,3.62-1.29,3,3,0,0,0,.73-.88,1.11,1.11,0,0,0-.07-1.36,1.17,1.17,0,0,0-1.33-.29c-.34.12-.66.31-1,.46l-1.1.52a2.33,2.33,0,0,1-3.25-2c0-.2,0-.41,0-.59m25.59-26c0,.32,0,.56,0,.8,0,1.06.09,2.11.1,3.17a2,2,0,0,0,.58,1.36,1.23,1.23,0,0,0,1.74.15.77.77,0,0,0,.18-.18,2,2,0,0,0,.52-1.45c-.07-1.15-.12-2.31-.18-3.46v-.57l.71-.05c.53,0,1.06-.05,1.58-.11a1.29,1.29,0,0,0-.17-2.57c-.47,0-.93.06-1.4.08h-1c0-.38-.05-.73-.08-1.07-.07-.66-.11-1.33-.22-2a1.06,1.06,0,0,0-1-.89,1.11,1.11,0,0,0-1.06.76,1.93,1.93,0,0,0-.13.47c-.07.66-.14,1.33-.2,2,0,.26,0,.52,0,.82-.35,0-.65,0-1,.06a6.3,6.3,0,0,0-1,.12,1.25,1.25,0,0,0-1,1.4,1.32,1.32,0,0,0,1.23,1.15c.34,0,.69,0,1,0ZM66.84,17A1.29,1.29,0,0,1,68,16.1a2.74,2.74,0,0,1,2,.43,1.09,1.09,0,0,0,1.53-.18,1.12,1.12,0,0,0-.14-1.58,2.73,2.73,0,0,0-.93-.55A6.4,6.4,0,0,0,67.73,14a3.47,3.47,0,0,0-2.94,2.15,2,2,0,0,0,.41,2.35,7.64,7.64,0,0,0,1,.84c.5.35,1,.67,1.53,1a1.09,1.09,0,0,1,.53.77.51.51,0,0,1-.09.38,2,2,0,0,1-1.58.64,11.69,11.69,0,0,1-1.3-.31c-.23-.06-.45-.18-.69-.23a1.14,1.14,0,0,0-1.26.53,1.22,1.22,0,0,0,.16,1.36,2,2,0,0,0,.57.44,4.69,4.69,0,0,0,5.94-.95,2.3,2.3,0,0,0,.65-1.78,3.24,3.24,0,0,0-1.47-2.72c-.53-.35-1.08-.65-1.62-1l-.77-.5M26.49,24.42c0-.78-.09-1.49-.12-2.19-.1-1.94-.18-3.89-.29-5.84a4.79,4.79,0,0,0-.25-1.24,1,1,0,0,0-1-.7,1.07,1.07,0,0,0-1,.73,3,3,0,0,0-.16.9c0,.89,0,1.78,0,2.67,0,2.09.08,4.18.1,6.26a2.09,2.09,0,0,0,1.85,2.07,17.71,17.71,0,0,0,2.3.21A10.71,10.71,0,0,0,30,27.08,1.25,1.25,0,0,0,31,25.81,1.3,1.3,0,0,0,30,24.54a3.38,3.38,0,0,0-.9-.06,10.52,10.52,0,0,1-2.63-.06M61.52,14a.61.61,0,0,0,0-.14,6.75,6.75,0,0,0-1.89-3.47,1,1,0,0,0-1.23-.13A1,1,0,0,0,58,11.47c.44,1.06.92,2.1,1.41,3.14a1.11,1.11,0,0,0,.83.64c.76.12,1.29-.39,1.3-1.27\",\n transform: \"translate(-0.28 0)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.32,46.18l-.5.59a3.72,3.72,0,0,1-3.1,1.53,4,4,0,0,1-3.31-2.09,5.62,5.62,0,0,1,1.76-7.09,4.72,4.72,0,0,1,4.11-.31,1.36,1.36,0,0,1,.37.21,14.29,14.29,0,0,1,1.24,1,2.07,2.07,0,0,1,.44.71,3.33,3.33,0,0,1,.21.63,17.85,17.85,0,0,0,2.31,4.87,2.85,2.85,0,0,1,.46,1.44,1.28,1.28,0,0,1-.72,1.24,1.25,1.25,0,0,1-1.43-.1,4.16,4.16,0,0,1-.85-.93c-.35-.52-.64-1.08-1-1.67m-1.82-5a1.85,1.85,0,0,0-2.26.7,3.35,3.35,0,0,0-.54,1.84,2.63,2.63,0,0,0,.28,1.1.95.95,0,0,0,1.67.2,3.66,3.66,0,0,0,.85-3.84\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.56,42.45c.33-.28.59-.53.88-.75a3.07,3.07,0,0,1,4.34.29l.07.08a6.27,6.27,0,0,1,1.48,2.84c.18.79.33,1.58.47,2.38a1.37,1.37,0,0,1-1,1.63h-.07a1.32,1.32,0,0,1-1.55-1s0-.08,0-.13c-.2-1-.35-1.91-.59-2.86A3,3,0,0,0,42,43.8c-.39-.5-.64-.5-1.12-.1a4.27,4.27,0,0,0-1.47,2.47,11.75,11.75,0,0,0-.14,1.33A1.35,1.35,0,0,1,38,48.82a1.27,1.27,0,0,1-1.39-1.09c-.1-.62-.14-1.25-.23-1.87-.27-1.91-.53-3.82-.83-5.72s-.58-3.57-.86-5.35a10.88,10.88,0,0,1-.11-1.27,2.42,2.42,0,0,1,.06-.66,1,1,0,0,1,1.9-.25,3.19,3.19,0,0,1,.29.8c.3,1.45.58,2.91.86,4.36s.58,3.06.88,4.68\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.37,39.88c-.76.06-1.46.14-2.17.18a5.08,5.08,0,0,1-1-.05,1.18,1.18,0,0,1-1-1.1A1.1,1.1,0,0,1,65,37.73a8.43,8.43,0,0,1,1.49-.25l1.82-.2c0-.32,0-.62,0-.91-.07-.91-.13-1.82-.19-2.73a2.06,2.06,0,0,1,0-.43,1.19,1.19,0,0,1,1-1.08,1.07,1.07,0,0,1,1.21.71A16.8,16.8,0,0,1,70.81,35c.13.61.2,1.23.3,1.91l1.64-.32a3.43,3.43,0,0,1,1.56-.09,1.23,1.23,0,0,1,1,1,1.25,1.25,0,0,1-.67,1.32,4.89,4.89,0,0,1-2,.48c-.38.06-.76.1-1.21.15.06.66.12,1.3.18,1.93.15,1.47.3,2.94.47,4.42a2,2,0,0,1-.34,1.32,1.29,1.29,0,0,1-1.75.55,1.1,1.1,0,0,1-.28-.2A1.83,1.83,0,0,1,69,46.11c-.17-2-.36-4-.54-5.93,0-.08,0-.16,0-.3\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.43,21.41a2.84,2.84,0,0,0,2.88,1.69,6,6,0,0,1,.85,0,4.8,4.8,0,0,1,.85,0,1.3,1.3,0,0,1,.37,2.48,4,4,0,0,1-2.13.36A5.7,5.7,0,0,1,36,22.73,5.23,5.23,0,0,1,37.7,16a4.67,4.67,0,0,1,3.92-.48,2.54,2.54,0,0,1,1.76,3.13,2.66,2.66,0,0,1-.26.6,3.93,3.93,0,0,1-3,2c-.54.11-1.11.12-1.72.18m-.22-2.07a3,3,0,0,0,1.64-.2,7.8,7.8,0,0,0,1.31-.61.57.57,0,0,0,.3-.62c0-.26-.25-.35-.47-.42a2.17,2.17,0,0,0-2.7,1.45,1.89,1.89,0,0,0-.08.4\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.48,44.57c0,.19,0,.39,0,.59a2.35,2.35,0,0,0,3.25,2l1.1-.52c.33-.15.65-.34,1-.46a1.14,1.14,0,0,1,1.33.29,1.11,1.11,0,0,1,.07,1.36,2.82,2.82,0,0,1-.73.88A6.68,6.68,0,0,1,26.91,50a4.9,4.9,0,0,1-4.78-3.54,6.43,6.43,0,0,1,0-3.48,5.32,5.32,0,0,1,5.15-3.8,3.2,3.2,0,0,1,1.71.56,1.5,1.5,0,0,1,.7,1.21,1.1,1.1,0,0,1-1.07,1.13A1.23,1.23,0,0,1,28.2,42a.26.26,0,0,1-.12,0,2.07,2.07,0,0,0-2.44.14,2.55,2.55,0,0,0-1.16,2.22,2.25,2.25,0,0,0,0,.26\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.07,18.55h-.72c-.35,0-.7,0-1,0a1.31,1.31,0,0,1-1.22-1.15,1.24,1.24,0,0,1,1-1.4,5,5,0,0,1,1-.12c.3,0,.6,0,1-.06,0-.3,0-.56,0-.82.06-.66.12-1.33.2-2a1.91,1.91,0,0,1,.12-.47,1.12,1.12,0,0,1,1.07-.76,1.07,1.07,0,0,1,1,.89c.11.66.15,1.33.21,2,0,.34.06.68.09,1.07h1c.47,0,.93-.08,1.4-.08a1.29,1.29,0,0,1,.16,2.57c-.52.06-1.05.07-1.57.11l-.71.05c0,.21,0,.39,0,.57.06,1.15.11,2.3.17,3.46a2,2,0,0,1-.52,1.45,1.23,1.23,0,0,1-1.73.21,1.07,1.07,0,0,1-.19-.18,2,2,0,0,1-.57-1.36c0-1.06-.07-2.11-.11-3.17,0-.25,0-.49,0-.81\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.84,17l.77.5c.53.33,1.08.63,1.61,1a3.24,3.24,0,0,1,1.47,2.72A2.3,2.3,0,0,1,70,22.93a4.7,4.7,0,0,1-5.93,1,2.1,2.1,0,0,1-.57-.45,1.18,1.18,0,0,1-.16-1.36,1.14,1.14,0,0,1,1.25-.53c.24.05.46.17.7.23a11.52,11.52,0,0,0,1.29.31,2,2,0,0,0,1.58-.64.5.5,0,0,0,.1-.37,1.08,1.08,0,0,0-.54-.78c-.51-.33-1-.65-1.52-1a8.41,8.41,0,0,1-1-.83,2,2,0,0,1-.42-2.36,3.49,3.49,0,0,1,3-2.15,6.28,6.28,0,0,1,2.65.27,2.64,2.64,0,0,1,.93.54,1.13,1.13,0,0,1,.14,1.58,1.11,1.11,0,0,1-1.54.18,2.71,2.71,0,0,0-2-.43,1.29,1.29,0,0,0-1.11.86\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.48,24.42a10.61,10.61,0,0,0,2.64.07,3,3,0,0,1,.9.05A1.32,1.32,0,0,1,31,25.81,1.25,1.25,0,0,1,30,27.08a10.61,10.61,0,0,1-2.1.21,16.11,16.11,0,0,1-2.3-.2A2.1,2.1,0,0,1,23.77,25c0-2.09-.07-4.18-.1-6.27q0-1.34,0-2.67a2.92,2.92,0,0,1,.16-.89,1.05,1.05,0,0,1,1-.73,1,1,0,0,1,1,.69,4.4,4.4,0,0,1,.24,1.25c.12,1.94.2,3.88.29,5.83,0,.7.08,1.41.12,2.19\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.52,14c0,.88-.54,1.39-1.29,1.27a1.07,1.07,0,0,1-.83-.64c-.49-1-1-2.08-1.41-3.14a1,1,0,0,1,.4-1.23,1,1,0,0,1,1.23.13,6.7,6.7,0,0,1,1.9,3.47V14\",\n transform: \"translate(-0.28 0)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.5,41.21a3.71,3.71,0,0,1-.85,3.85,1,1,0,0,1-1.33.23,1,1,0,0,1-.35-.44,2.62,2.62,0,0,1-.27-1.1,3.27,3.27,0,0,1,.54-1.84,1.83,1.83,0,0,1,2.26-.7\",\n transform: \"translate(-0.28 0)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.21,19.34a2.17,2.17,0,0,1,2.39-1.93,1.69,1.69,0,0,1,.39.08c.22.07.42.16.47.42a.57.57,0,0,1-.3.62,7.8,7.8,0,0,1-1.31.61,3,3,0,0,1-1.64.2\",\n transform: \"translate(-0.28 0)\",\n fill: \"#fff\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChat);\nexport default __webpack_public_path__ + \"static/media/chat.ca0989a8.svg\";\nexport { ForwardRef as ReactComponent };","import {Overlay} from './Overlay';\r\n\r\nexport default Overlay;\r\n","import React, {FunctionComponent, useEffect, useState} from 'react';\r\n\r\nimport {BotActionType, IBotAction, IBotAnswer} from 'utils/hooks/use-chat-bot/interfaces';\r\nimport Overlay from '../overlay';\r\n\r\ninterface IXpeditionOverlay {\r\n botAnswers: IBotAnswer[]\r\n onChange: (message: IBotAction | null) => void\r\n onFinish: () => void\r\n}\r\n\r\nexport const InterviewOverlay: FunctionComponent = ({\r\n botAnswers,\r\n onChange,\r\n onFinish\r\n}: IXpeditionOverlay) => {\r\n const [overlays, setOverlays] = useState([]);\r\n\r\n useEffect(() => {\r\n const overlayList = botAnswers.reduce((acc, answer) => {\r\n if (answer.keyboard?.buttons) {\r\n answer.keyboard.buttons.forEach((item) => {\r\n if (item.actionType === BotActionType.Overlay) {\r\n return acc.push(item);\r\n }\r\n\r\n return acc;\r\n });\r\n }\r\n\r\n return acc;\r\n }, []);\r\n\r\n setOverlays(overlayList);\r\n }, [botAnswers]);\r\n\r\n function handleChangeOverlay(overlayIdx: number) {\r\n return (actionBody: string) => {\r\n if (actionBody.length === 0) {\r\n onChange(overlays[overlayIdx]);\r\n\r\n return;\r\n }\r\n onChange({\r\n ...overlays[overlayIdx],\r\n actionBody\r\n });\r\n };\r\n }\r\n\r\n function handleFinishInterview() {\r\n onFinish();\r\n }\r\n\r\n return <>\r\n {\r\n overlays.map((overlay, overlayIdx) => {\r\n return ;\r\n })\r\n }\r\n ;\r\n};\r\n","import {SelfInterview} from './SelfInterview';\r\nexport default SelfInterview;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useIntl} from 'react-intl';\r\n\r\nimport {IArticle} from 'redux/content/interfaces';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport GritxButton from 'components/gritx-button';\r\nimport Loader from 'components/loader';\r\nimport ModalWindow from 'components/modal-window';\r\n\r\nimport {useChatBot} from 'utils/hooks/use-chat-bot/useChatBot';\r\nimport {InterviewOverlay} from './InterviewOverlay';\r\nimport {BotType, IBotAction, MessageType} from 'utils/hooks/use-chat-bot/interfaces';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IInterviewArticle {\r\n card: IArticle\r\n onStart: () => void\r\n onFinish: () => void\r\n}\r\n\r\nconst timeout = 4000; // ms\r\n\r\nexport const SelfInterview = ({\r\n card,\r\n onStart,\r\n onFinish\r\n}: IInterviewArticle): JSX.Element => {\r\n const intl = useIntl();\r\n const {\r\n botAnswer,\r\n sendMessage,\r\n isLoading,\r\n currentDialog,\r\n dialogMethods: {\r\n startInterview,\r\n removeDialog\r\n }\r\n } = useChatBot(BotType.Interview);\r\n const [isStartInterview, setIsStartInterview] = useState(false);\r\n const [isFinishInterview, setIsFinishInterview] = useState(false);\r\n const [isDisabledNextButton, setIsDisabledNextButton] = useState(true);\r\n const [interviewAnswer, setInterviewAnswer] = useState(null);\r\n\r\n useEffect(() => {\r\n if (botAnswer.length) {\r\n setTimeout(() => {\r\n setIsDisabledNextButton(false);\r\n }, timeout);\r\n }\r\n }, [botAnswer]);\r\n\r\n function scrollToTop() {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n function handleStartInterview() {\r\n setIsStartInterview(true);\r\n if (card.interviewId) {\r\n startInterview(card.interviewId);\r\n }\r\n onStart();\r\n scrollToTop();\r\n }\r\n\r\n function handleChangeInterviewAnswer(answer: IBotAction | null) {\r\n setInterviewAnswer(answer);\r\n }\r\n\r\n function handleClickNext() {\r\n if (!interviewAnswer) {\r\n return;\r\n }\r\n const actionButton = interviewAnswer;\r\n\r\n setIsDisabledNextButton(true);\r\n setInterviewAnswer(null);\r\n sendMessage(MessageType.Action, {\r\n button: {\r\n actionType: actionButton.actionType,\r\n actionBody: actionButton.actionBody,\r\n actionUrl: actionButton.actionUrl,\r\n serialNumber: actionButton.serialNumber,\r\n text: actionButton.text\r\n }\r\n });\r\n }\r\n\r\n function handleFinishInterview() {\r\n setIsFinishInterview(true);\r\n onFinish();\r\n }\r\n\r\n function handleCloseInterview() {\r\n setIsStartInterview(false);\r\n onFinish();\r\n if (currentDialog) {\r\n removeDialog(currentDialog.id);\r\n }\r\n }\r\n\r\n if (isStartInterview) {\r\n return \r\n
\r\n {isLoading && }\r\n \r\n
\r\n {\r\n isFinishInterview\r\n ? <>\r\n \r\n \r\n : <>\r\n {\r\n !isLoading && \r\n }\r\n \r\n }\r\n
\r\n
\r\n ;\r\n }\r\n\r\n return
\r\n \r\n
;\r\n};\r\n","import {Article} from './Article';\r\nexport default Article;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {IArticle} from 'redux/content/interfaces';\r\nimport {addFavoriteCardAction, addMaterialAction, removeFavoriteCardAction, removeMaterialAction} from 'redux/content/contentAsyncActions';\r\n\r\nimport GritxButton from 'components/gritx-button';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport Meditation from 'components/meditation';\r\nimport Journal from 'components/journal';\r\nimport SelfInterview from 'components/self-interview';\r\n\r\nimport {ContentType, proUser} from 'utils/constants/constants';\r\n\r\nimport {ReactComponent as FullHeart} from 'assets/image/library/full-heart.svg';\r\nimport {ReactComponent as EmptyHeart} from 'assets/image/library/empty-heart.svg';\r\nimport Clock from 'assets/image/library/clock.svg';\r\nimport Book from 'assets/image/library/book.svg';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IContentLayout {\r\n card: IArticle\r\n onClose?: () => void\r\n}\r\n\r\nexport const Article: React.FunctionComponent = ({\r\n card,\r\n onClose\r\n}: IContentLayout) => {\r\n const {\r\n auth: {\r\n auth0User,\r\n userProfile\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n const intl = useIntl();\r\n const proFlag = auth0User?.['https://gritx.org/roles'].includes(proUser);\r\n const [isAddedToMaterials, setIsAddedToMaterials] = useState(false);\r\n const [isFavorite, setIsFavorite] = useState(false);\r\n const [isShowJournal, setIsShowJournal] = useState(false);\r\n const [isShowInterview, setIsShowInterview] = useState(false);\r\n const [journalPage, setJournalPage] = useState(null);\r\n\r\n useEffect(() => {\r\n setIsAddedToMaterials(card.material);\r\n setIsFavorite(card.favorite);\r\n }, [card]);\r\n\r\n useEffect(() => {\r\n setIsShowJournal(false);\r\n }, [card.id]);\r\n\r\n function addToMaterials() {\r\n setIsAddedToMaterials(!isAddedToMaterials);\r\n if (isAddedToMaterials) {\r\n dispatch(removeMaterialAction([card.id]));\r\n } else {\r\n dispatch(addMaterialAction(card.id));\r\n }\r\n }\r\n\r\n function changeFavorite() {\r\n setIsFavorite(!isFavorite);\r\n if (isFavorite) {\r\n dispatch(removeFavoriteCardAction(card.id));\r\n } else {\r\n dispatch(addFavoriteCardAction(card.id));\r\n }\r\n }\r\n\r\n function handleClose() {\r\n if (onClose) {\r\n if (isShowJournal) {\r\n if (confirm(intl.formatMessage({\r\n id: 'gritx.common.notification.close-tab',\r\n defaultMessage: 'Changes you made may not be saved.'\r\n }))) {\r\n onClose();\r\n }\r\n\r\n return;\r\n }\r\n onClose();\r\n }\r\n }\r\n\r\n function handleShowJournal(val: boolean) {\r\n return () => setIsShowJournal(val);\r\n }\r\n\r\n function handleChangeJournalPage(page: number | null) {\r\n if (typeof page === 'number') {\r\n setJournalPage(page + 1);\r\n } else {\r\n setJournalPage(page);\r\n }\r\n }\r\n\r\n function handleStartInterview() {\r\n setIsShowInterview(true);\r\n }\r\n\r\n function handleFinishInterview() {\r\n setIsShowInterview(false);\r\n }\r\n\r\n const renderAddToMaterialsButton = () => (proFlag\r\n && );\r\n\r\n const renderActionsSection = () => {\r\n if (userProfile?.greetingContentId === card.id) {\r\n return null;\r\n }\r\n\r\n return <>\r\n {renderAddToMaterialsButton()}\r\n \r\n ;\r\n };\r\n\r\n const renderMeditation = () => (card.type === ContentType.Meditation\r\n && );\r\n const renderJournal = () => (card.type === ContentType.Journal\r\n && );\r\n const renderSelfInterview = () => (card.type === ContentType.SelfInterview\r\n && );\r\n\r\n const renderArticleInformation = () => (isShowJournal\r\n ? journalPage\r\n &&

\r\n \r\n

\r\n : <>\r\n
\r\n \r\n
\r\n \r\n );\r\n\r\n return
\r\n
\r\n
\r\n

{card.title}

\r\n {\r\n onClose\r\n && \r\n }\r\n
\r\n
\r\n
\r\n {renderArticleInformation()}\r\n
\r\n
\r\n {renderActionsSection()}\r\n
\r\n
\r\n
\r\n {\r\n !isShowJournal && !isShowInterview\r\n &&
\r\n

\r\n {card.description}\r\n

\r\n
\r\n {\r\n \"\"\r\n }\r\n
\r\n {\r\n card.text\r\n && \r\n }\r\n
\r\n }\r\n {renderMeditation()}\r\n {renderJournal()}\r\n {renderSelfInterview()}\r\n
;\r\n};\r\n","import React, {FunctionComponent, useEffect, useState} from 'react';\r\n\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {closeArticle} from 'redux/content/actions';\r\nimport {getArticle} from 'redux/pageAsyncActions';\r\nimport {loadArticleAction} from 'redux/content/contentAsyncActions';\r\n\r\nimport Loader from 'components/loader';\r\nimport Article from 'components/article';\r\n\r\nimport {IBotAnswer} from 'utils/hooks/use-chat-bot/interfaces';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IBotContent {\r\n botAnswer: IBotAnswer[]\r\n}\r\n\r\nexport const BotContent: FunctionComponent = ({botAnswer}: IBotContent) => {\r\n const dispatch = useDispatch();\r\n const {\r\n content: {article},\r\n status: {loading},\r\n auth: {userProfile}\r\n } = useSelector((state: IStore) => state);\r\n const [pictureAnswer, setPictureAnswer] = useState([]);\r\n\r\n useEffect(() => {\r\n const pictures = botAnswer.filter(item => {\r\n return !item.contentId && item.picture;\r\n });\r\n\r\n setPictureAnswer(pictures);\r\n }, [botAnswer]);\r\n\r\n function handleCloseArticle() {\r\n if (userProfile?.greetingContentId) {\r\n dispatch(loadArticleAction(userProfile.greetingContentId.toString()));\r\n } else {\r\n dispatch(closeArticle());\r\n }\r\n }\r\n\r\n if (pictureAnswer.length) {\r\n return <>\r\n {\r\n pictureAnswer\r\n .map(answer => {\r\n return \r\n
\r\n {answer.text}\r\n
\r\n
\r\n {answer.picture?.fileUrl\r\n ? \"\"\r\n : }\r\n
\r\n
;\r\n })\r\n }\r\n ;\r\n }\r\n\r\n return <>\r\n {loading.includes(getArticle) && }\r\n {\r\n !loading.includes(getArticle) && article\r\n ?
\r\n :
\r\n
\r\n }\r\n ;\r\n};\r\n","import {ChatLoader} from './ChatLoader';\r\nexport default ChatLoader;\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\n\r\nimport './styles.scss';\r\n\r\ninterface ILoaderProps {\r\n className?: string\r\n}\r\n\r\nexport const ChatLoader: React.FunctionComponent = ({className}: ILoaderProps) => {\r\n return \r\n
\r\n
\r\n
\r\n
;\r\n};\r\n","import React, {FunctionComponent} from 'react';\r\n\r\nimport ChatLoader from './chat-loader';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IBotLoader {\r\n isLoading: boolean\r\n}\r\n\r\nexport const BotLoader: FunctionComponent = ({isLoading}: IBotLoader) => {\r\n return isLoading ?
\r\n
\r\n \r\n
\r\n
: null;\r\n};\r\n","import React, {FunctionComponent} from 'react';\r\nimport cn from 'classnames';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IUserMessage {\r\n sendMessage: string | undefined,\r\n hideUserMessage: boolean\r\n}\r\n\r\nexport const UserMessage: FunctionComponent = ({sendMessage, hideUserMessage}: IUserMessage) => {\r\n return sendMessage\r\n ?
\r\n
{sendMessage}
\r\n
\r\n : null;\r\n};\r\n","import {XpeditionOverlay} from './XpeditionOverlay';\r\n\r\nexport default XpeditionOverlay;\r\n","import React, {FunctionComponent, useEffect, useState} from 'react';\r\n\r\nimport {BotActionType, IBotAction, IBotAnswer} from 'utils/hooks/use-chat-bot/interfaces';\r\n\r\nimport Overlay from 'components/overlay';\r\n\r\ninterface IXpeditionOverlay {\r\n botAnswers: IBotAnswer[]\r\n onChange: (message: IBotAction | null) => void\r\n}\r\n\r\nexport const XpeditionOverlay: FunctionComponent = ({\r\n botAnswers,\r\n onChange\r\n}: IXpeditionOverlay) => {\r\n const [overlays, setOverlays] = useState([]);\r\n const [lastMessageDate, setLastMessageDate] = useState(new Date());\r\n\r\n useEffect(() => {\r\n const overlayList = botAnswers.reduce((acc, answer) => {\r\n if (answer.keyboard?.buttons) {\r\n answer.keyboard.buttons.forEach((item) => {\r\n if (item.actionType === BotActionType.Overlay) {\r\n return acc.push(item);\r\n }\r\n\r\n return acc;\r\n });\r\n }\r\n\r\n return acc;\r\n }, []);\r\n\r\n setOverlays(overlayList);\r\n setLastMessageDate(new Date(botAnswers[0].date));\r\n }, [botAnswers]);\r\n\r\n function handleChangeOverlay(overlayIdx: number) {\r\n return (actionBody: string) => {\r\n if (actionBody.length === 0) {\r\n onChange(null);\r\n\r\n return;\r\n }\r\n onChange({\r\n ...overlays[overlayIdx],\r\n actionBody\r\n });\r\n };\r\n }\r\n\r\n return <>\r\n {\r\n overlays.map((overlay, overlayIdx) => {\r\n return ;\r\n })\r\n }\r\n ;\r\n};\r\n","import React, {FunctionComponent, useEffect, useState} from 'react';\r\n\r\nimport GritxButton from 'components/gritx-button';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport Loader from 'components/loader';\r\nimport XpeditionOverlay from 'components/xpedition-overlay';\r\n\r\nimport {BotActionType, IBotAction, IBotAnswer, MessageType} from 'utils/hooks/use-chat-bot/interfaces';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IBotChat {\r\n groupAnswers: IBotAnswer[]\r\n singleAnswers: IBotAnswer[]\r\n botAnswer: IBotAnswer[]\r\n onClickAction: (actionButton: IBotAction) => void\r\n onChangeOverlayAnswer: (answer: IBotAction | null) => void\r\n}\r\n\r\nexport const BotMessages: FunctionComponent = ({\r\n groupAnswers,\r\n singleAnswers,\r\n botAnswer,\r\n onClickAction,\r\n onChangeOverlayAnswer\r\n}: IBotChat) => {\r\n const [isShowXpeditionOverlay, setIsShowXpeditionOverlay] = useState(false);\r\n\r\n useEffect(() => {\r\n setIsShowXpeditionOverlay(false);\r\n }, [botAnswer]);\r\n\r\n function handleClickAction(actionButton: IBotAction) {\r\n return () => {\r\n onClickAction(actionButton);\r\n };\r\n }\r\n\r\n function handleChangeOverlayAnswer(answer: IBotAction | null) {\r\n onChangeOverlayAnswer(answer);\r\n }\r\n\r\n function showXpeditionOverlay() {\r\n setIsShowXpeditionOverlay(true);\r\n }\r\n\r\n function renderBotAnswerButtons(answer: IBotAnswer) {\r\n return answer.keyboard?.buttons.length ?
{\r\n answer.keyboard.buttons.map((button, i) => {\r\n if (!button) {\r\n return null;\r\n }\r\n if (button.actionType === 'OVERLAY') {\r\n if (!isShowXpeditionOverlay) {\r\n showXpeditionOverlay();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (button.actionType === BotActionType.OpenURL) {\r\n return \r\n {button.text}\r\n ;\r\n }\r\n\r\n return ;\r\n })}
: null;\r\n }\r\n\r\n function renderBotAnswerLinks(answer: IBotAnswer) {\r\n return answer.urls?.length\r\n ? answer.urls.map(url => {\r\n return
\r\n {url}\r\n
;\r\n })\r\n : null;\r\n }\r\n\r\n function renderMessageCard(answers: IBotAnswer[]) {\r\n const picture = answers[0]?.picture?.fileUrl;\r\n const title = answers[1]?.text;\r\n const desc = answers[2]?.text;\r\n const buttons = groupAnswers[3]?.keyboard?.buttons || groupAnswers[2]?.keyboard?.buttons || [];\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n {title}\r\n
\r\n
\r\n {picture\r\n ? \"\"\r\n : }\r\n
{desc}
\r\n
\r\n
\r\n
\r\n {buttons.length !== 0\r\n &&
\r\n {buttons.map((button, i) => {\r\n if (button && button.actionType !== 'OVERLAY') {\r\n return ;\r\n }\r\n\r\n return null;\r\n })}\r\n
}\r\n ;\r\n }\r\n\r\n return <>\r\n {\r\n singleAnswers.map((answer) => {\r\n if (answer.contentId && answer.type === MessageType.Picture) {\r\n return <>\r\n \r\n
\r\n {answer.picture?.fileUrl\r\n ? \"\"\r\n : }\r\n
\r\n
\r\n ;\r\n }\r\n\r\n return answer.type !== MessageType.Picture && (answer.text?.trim() || answer.keyboard?.buttons.length || answer.urls?.length)\r\n ?
\r\n
\r\n \r\n {renderBotAnswerButtons(answer)}\r\n {renderBotAnswerLinks(answer)}\r\n
\r\n
: null;\r\n })\r\n }\r\n {\r\n isShowXpeditionOverlay\r\n && Boolean(botAnswer.length)\r\n && \r\n }\r\n {groupAnswers.length !== 0\r\n &&
\r\n
\r\n {renderMessageCard(groupAnswers)}\r\n
\r\n
\r\n }\r\n ;\r\n};\r\n","import {BotChat} from './BotChat';\r\nexport default BotChat;\r\n","import React, {FunctionComponent, useEffect, useRef, useState} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport TextareaAutosize from 'react-textarea-autosize';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\n\r\nimport {loadArticleAction} from 'redux/content/contentAsyncActions';\r\nimport {closeArticle} from 'redux/content/actions';\r\nimport {IStore} from 'redux/interface';\r\n\r\nimport GritxButton from 'components/gritx-button';\r\nimport Loader from 'components/loader';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport BotIcon from 'assets/image/user-settings/BotDefaultAvatar.png';\r\n\r\nimport {BotActionType, BotType, IBotAction, IBotAnswer, MessageType} from 'utils/hooks/use-chat-bot/interfaces';\r\nimport {useChatBot} from 'utils/hooks/use-chat-bot/useChatBot';\r\nimport {useLoadFile} from 'utils/hooks/useLoadFile';\r\n\r\nimport {XpeditionList} from './xpedition/XpeditionList';\r\nimport {BotContent} from './BotContent';\r\nimport {BotLoader} from './BotLoader';\r\nimport {UserMessage} from './UserMessage';\r\nimport {BotMessages} from './BotMessages';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IBotChat {\r\n mode: BotType;\r\n}\r\n\r\nexport const BotChat: FunctionComponent = ({mode}: IBotChat) => {\r\n const intl = useIntl();\r\n const chatLogRef = useRef(null);\r\n const refInput = useRef();\r\n const [groupAnswers, setGroupAnswers] = useState([]);\r\n const [singleAnswers, setSingleAnswers] = useState([]);\r\n const [sendMessage, setSendMessage] = useState();\r\n const [input, setInput] = useState();\r\n const [isDisabledInput, setIsDisabledInput] = useState(false);\r\n const [showMessages, setShowMessages] = useState(false);\r\n const [hideUserMessage, setHideUserMessage] = useState(false);\r\n const [timer, setTimer] = useState();\r\n const [showLoading, setShowLoading] = useState(false);\r\n // -----xpedition----\r\n const [isShowXpeditionOverlay, setIsShowXpeditionOverlay] = useState(false);\r\n const [xpeditionOverlayAnswer, setXpeditionOverlayAnswer] = useState(null);\r\n // ----------\r\n const chatBot = useChatBot(mode);\r\n const {auth: {userProfile} } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n const {getFileUrl} = useLoadFile();\r\n\r\n const scrollToBottom = () => {\r\n chatLogRef?.current?.scrollTo(0, chatLogRef.current.scrollHeight);\r\n };\r\n\r\n function hideUserMessageTimer(hasAnswers: boolean) {\r\n if (timer) {\r\n clearTimeout(timer);\r\n setTimer(undefined);\r\n }\r\n if (hasAnswers) {\r\n setTimer(setTimeout(() => setHideUserMessage(true), 3000));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setIsShowXpeditionOverlay(false);\r\n if (chatBot.botAnswer.length || sendMessage) {\r\n setShowMessages(true);\r\n }\r\n setShowLoading(false);\r\n\r\n hideUserMessageTimer(chatBot.botAnswer.length !== 0);\r\n\r\n setGroupAnswers(chatBot.botAnswer.filter(answer => answer.contentType));\r\n setSingleAnswers(chatBot.botAnswer.filter(answer => !answer.contentType));\r\n setIsDisabledInput(isShowXpeditionOverlay || Boolean(chatBot.botAnswer.find(answer => answer.keyboard?.buttons.length)));\r\n }, [chatBot.botAnswer, sendMessage]);\r\n\r\n useEffect(() => {\r\n if ((chatBot.isLoading && showLoading) || chatBot.botAnswer) {\r\n scrollToBottom();\r\n }\r\n }, [chatBot.isLoading, showLoading, chatBot.botAnswer]);\r\n\r\n useEffect(() => {\r\n if (mode === BotType.Xpedition) {\r\n chatBot.xpedition.getXpeditionList();\r\n } else if (userProfile?.greetingContentId) {\r\n dispatch(loadArticleAction(userProfile.greetingContentId.toString()));\r\n }\r\n }, [userProfile]);\r\n\r\n const pushUserMessage = (text: string) => {\r\n setInput('');\r\n setSendMessage('');\r\n setHideUserMessage(false);\r\n\r\n chatBot.sendMessage(MessageType.Text, {text});\r\n setTimeout(() => setSendMessage(text), 100);\r\n setTimeout(() => setShowLoading(true), Math.floor(Math.random() * 1000) + 300);\r\n };\r\n\r\n function handleSendOverlay() {\r\n setIsShowXpeditionOverlay(false);\r\n if (!xpeditionOverlayAnswer) {\r\n return;\r\n }\r\n const actionButton = xpeditionOverlayAnswer;\r\n\r\n setXpeditionOverlayAnswer(null);\r\n chatBot.sendMessage(MessageType.Action, {\r\n button: {\r\n actionType: actionButton.actionType,\r\n actionBody: actionButton.actionBody,\r\n actionUrl: actionButton.actionUrl,\r\n serialNumber: actionButton.serialNumber,\r\n text: actionButton.text\r\n }\r\n });\r\n }\r\n\r\n const handleSend = () => {\r\n if (isShowXpeditionOverlay) {\r\n dispatch(closeArticle());\r\n handleSendOverlay();\r\n } else {\r\n pushUserMessage((input as string).trim());\r\n }\r\n };\r\n\r\n const keydownHandler = (event: React.KeyboardEvent) => {\r\n if (event.key === 'Enter') {\r\n event.preventDefault();\r\n if (event.shiftKey) {\r\n const {\r\n selectionStart,\r\n selectionEnd\r\n } = event.currentTarget;\r\n\r\n const newValue = `${event.currentTarget.value?.substring(0, selectionStart)}\\n${event.currentTarget.value?.substring(selectionEnd)}`;\r\n\r\n setInput(newValue);\r\n if (refInput.current) {\r\n refInput.current.value = newValue;\r\n refInput.current.selectionStart = selectionStart + 1;\r\n refInput.current.selectionEnd = selectionStart + 1;\r\n }\r\n } else if (event.currentTarget.value.trim()) {\r\n handleSend();\r\n }\r\n }\r\n };\r\n\r\n function handleHelp() {\r\n pushUserMessage('Help');\r\n }\r\n\r\n function handleClickAction(actionButton: IBotAction) {\r\n const actionBody = JSON.parse(actionButton.actionBody);\r\n\r\n switch (actionButton.actionType) {\r\n case BotActionType.ContentView:\r\n dispatch(loadArticleAction(actionBody.addActionBody.contentInfo.id));\r\n setSendMessage('');\r\n setIsShowXpeditionOverlay(false);\r\n\r\n chatBot.sendMessage(MessageType.Action, {\r\n button: {\r\n actionType: actionButton.actionType,\r\n actionBody: actionButton.actionBody,\r\n actionUrl: actionButton.actionUrl,\r\n serialNumber: actionButton.serialNumber,\r\n text: actionButton.text\r\n }\r\n });\r\n break;\r\n case BotActionType.OpenURL:\r\n case BotActionType.ReturnValue:\r\n case BotActionType.Schedule:\r\n setSendMessage('');\r\n setIsShowXpeditionOverlay(false);\r\n chatBot.sendMessage(MessageType.Action, {\r\n button: {\r\n actionType: actionButton.actionType,\r\n actionBody: actionButton.actionBody,\r\n actionUrl: actionButton.actionUrl,\r\n serialNumber: actionButton.serialNumber,\r\n text: actionButton.text\r\n }\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n function handleStartXpedition(botId: number) {\r\n chatBot.xpedition.startXpedition(botId);\r\n }\r\n\r\n async function handleRemoveDialog(dialogId: number) {\r\n await chatBot.dialogMethods.removeDialog(dialogId);\r\n chatBot.xpedition.getXpeditionList();\r\n }\r\n\r\n // ----------\r\n\r\n function handleChangeOverlayAnswer(answer: IBotAction | null) {\r\n setIsShowXpeditionOverlay(true);\r\n setXpeditionOverlayAnswer(answer);\r\n }\r\n\r\n if (mode === BotType.Xpedition && !chatBot.currentDialog) {\r\n if (chatBot.xpedition.xpeditionList.length === 0) {\r\n return ;\r\n }\r\n const {xpeditionList} = chatBot.xpedition;\r\n\r\n return ;\r\n }\r\n\r\n function getButtonDisabledStatus(): boolean {\r\n return isShowXpeditionOverlay ? !xpeditionOverlayAnswer : !input?.trim();\r\n }\r\n\r\n function getButtonTitle(): string {\r\n if (isShowXpeditionOverlay && xpeditionOverlayAnswer) {\r\n return intl.formatMessage({\r\n id: 'gritx.common.button.next',\r\n defaultMessage: 'Next'\r\n });\r\n }\r\n\r\n return intl.formatMessage({\r\n id: 'gritx.common.button.send',\r\n defaultMessage: 'Send'\r\n });\r\n }\r\n\r\n function getBotAvatar() {\r\n return userProfile?.dialogAvatarId ? getFileUrl(userProfile.dialogAvatarId) : BotIcon;\r\n }\r\n\r\n return
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n mode !== BotType.Xpedition\r\n && \r\n }\r\n
\r\n {showMessages\r\n ?
\r\n \r\n \r\n \r\n
\r\n :
\r\n
\r\n \r\n
\r\n
\r\n }\r\n
\r\n {\r\n refInput.current = tag;\r\n }}\r\n className=\"bot-chat__input\"\r\n maxLength={2000}\r\n placeholder={intl.formatMessage({\r\n id: 'gritx.chat.inputPlaceholder',\r\n defaultMessage: 'your move...'\r\n })}\r\n maxRows={9}\r\n value={input}\r\n onKeyDown={keydownHandler}\r\n onChange={ev => {\r\n setInput(ev.target.value);\r\n }}\r\n disabled={isDisabledInput}\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
;\r\n};\r\n","import {FormattedMessage, useIntl} from 'react-intl';\r\nimport React, {useEffect, useState} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {Link, useHistory, useLocation} from 'react-router-dom';\r\nimport Debounce from 'lodash/debounce';\r\nimport cn from 'classnames';\r\n\r\nimport {contentAsyncActions, getArticle, getTranslations} from 'redux/pageAsyncActions';\r\nimport {IArticleCard} from 'redux/content/interfaces';\r\nimport {IStore} from 'redux/interface';\r\n\r\nimport Article from 'components/article';\r\nimport ArticleCard from 'components/article-card';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport GritxButton from 'components/gritx-button';\r\nimport NotFoundInfo from 'components/not-found-info';\r\nimport Loader from 'components/loader';\r\n\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {proUser} from 'utils/constants/constants';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\n\r\nimport CrossroadImg from 'assets/image/library/skill-crossroad.svg';\r\n\r\nimport './styles.scss';\r\n\r\nenum LayoutType {\r\n article = 'article',\r\n Library = 'library',\r\n Backpack = 'backpack',\r\n Materials = 'materials'\r\n}\r\n\r\nconst layouts = [\r\n LayoutType.Library,\r\n LayoutType.Backpack,\r\n LayoutType.Materials\r\n];\r\n\r\nexport const Content: React.FunctionComponent = () => {\r\n const {\r\n content: {\r\n article,\r\n content,\r\n backpackContent,\r\n materialsContent\r\n },\r\n status: {\r\n loading,\r\n errors\r\n },\r\n auth: {\r\n auth0User,\r\n userProfile\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n const intl = useIntl();\r\n const location = useLocation<{ parentLocation: string }>();\r\n const history = useHistory();\r\n const [layoutType, setLayoutType] = useState(LayoutType.article);\r\n const [articleId, setArticleId] = useState(null);\r\n const [cardList, setCardList] = useState([]);\r\n const [prevScrollPosition, setPrevScrollPosition] = useState(0);\r\n const [currentScrollPosition, setCurrentScrollPosition] = useState(0);\r\n const [showBackToTopButton, setShowBackToTopButton] = useState(false);\r\n const proFlag = auth0User?.['https://gritx.org/roles'].includes(proUser);\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Library\r\n });\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Content\r\n });\r\n\r\n function handleScroll() {\r\n return Debounce((e) => {\r\n setCurrentScrollPosition(e.target.scrollingElement.scrollTop);\r\n }, 100);\r\n }\r\n\r\n useEffect(() => {\r\n setLayoutType(layouts.find((layout) => location.state?.parentLocation.includes(layout)) || LayoutType.article);\r\n document.addEventListener('scroll', handleScroll());\r\n\r\n return () => document.removeEventListener('scroll', handleScroll());\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (userProfile && location.hash) {\r\n const id = location.hash.substr(1);\r\n\r\n window.scrollTo(0, 0);\r\n setArticleId(id);\r\n dispatch(contentAsyncActions[getArticle](id));\r\n }\r\n }, [location, userProfile]);\r\n\r\n useEffect(() => {\r\n if (layoutType === LayoutType.Library) {\r\n setCardList(content);\r\n }\r\n if (layoutType === LayoutType.Backpack) {\r\n setCardList(backpackContent);\r\n }\r\n if (layoutType === LayoutType.Materials) {\r\n setCardList(materialsContent);\r\n }\r\n }, [layoutType, content, backpackContent, materialsContent]);\r\n\r\n useEffect(() => {\r\n if (currentScrollPosition > 500 && currentScrollPosition <= prevScrollPosition) {\r\n setShowBackToTopButton(true);\r\n } else {\r\n setShowBackToTopButton(false);\r\n }\r\n setPrevScrollPosition(currentScrollPosition);\r\n }, [currentScrollPosition]);\r\n\r\n function handleBackClick() {\r\n history.push(`/${layoutType}`);\r\n }\r\n\r\n function handleScrollToTop() {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n function handleOpenCard(cardId: number) {\r\n return () => {\r\n history.push(\r\n `/content#${cardId}`,\r\n history.location.state ? history.location.state : {parentLocation: history.location.pathname}\r\n );\r\n };\r\n }\r\n\r\n function renderBreadcrumbs() {\r\n if (layoutType !== LayoutType.article) {\r\n return
\r\n \r\n \r\n - \r\n \r\n \r\n
;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n function renderBackToTop() {\r\n return showBackToTopButton\r\n ?
\r\n \r\n
\r\n : null;\r\n }\r\n\r\n function renderArticle() {\r\n if (loading.includes(getArticle)) {\r\n return
\r\n
\r\n
;\r\n }\r\n\r\n if (errors[getArticle]?.error.message.includes('500') || errors[getArticle]?.error.message.includes('400')) {\r\n return
\r\n
\r\n \r\n
\r\n
;\r\n }\r\n\r\n if (article) {\r\n return
\r\n
\r\n
\r\n
\r\n {\r\n layoutType !== LayoutType.article\r\n && \r\n }\r\n
\r\n
\r\n
;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return
\r\n {\r\n !loading.includes(getTranslations) && <>\r\n {renderBreadcrumbs()}\r\n {renderBackToTop()}\r\n
\r\n {\r\n layoutType !== LayoutType.article\r\n && cardList.length > 0\r\n &&
\r\n {\r\n
\r\n {\r\n cardList.map(card => {\r\n return ;\r\n })\r\n }\r\n
\r\n }\r\n
\r\n }\r\n\r\n {renderArticle()}\r\n
\r\n \r\n }\r\n
;\r\n};\r\n","import {Chat} from './Chat';\r\nexport default Chat;\r\n","import React, {useEffect} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {BotType} from 'utils/hooks/use-chat-bot/interfaces';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\nimport {IStore} from 'redux/interface';\r\nimport {getTranslations} from 'redux/pageAsyncActions';\r\nimport {closeArticle} from 'redux/content/actions';\r\n\r\nimport BotChat from 'components/bot-chat';\r\nimport {ReactComponent as ChatIcon} from 'assets/image/menu-auth/chat.svg';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Chat: React.FunctionComponent = () => {\r\n const {\r\n status: {loading}\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(closeArticle());\r\n }, []);\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Chat\r\n });\r\n\r\n return
\r\n {\r\n !loading.includes(getTranslations) && <>\r\n

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

\r\n \r\n \r\n }\r\n
;\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFacebook(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"icon-svg\",\n id: \"facebook\",\n d: \"M27.99993,5.32469v21.3509a1.32468,1.32468,0,0,1-1.32457,1.32461H20.5595V18.7061h3.11971l.46705-3.6221H20.5595V12.77145c0-1.0487.2912-1.76335,1.79509-1.76335l1.918-.00088V7.76765a25.66255,25.66255,0,0,0-2.79492-.14271c-2.76537,0-4.6586,1.688-4.6586,4.78787V15.084H13.69145v3.6221H16.8191v9.2941H5.32455a1.32452,1.32452,0,0,1-1.32462-1.32461V5.32469A1.32442,1.32442,0,0,1,5.32455,4.00007H26.67536A1.32457,1.32457,0,0,1,27.99993,5.32469Z\",\n fill: \"#262626\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFacebook);\nexport default __webpack_public_path__ + \"static/media/facebook.1efb0db4.svg\";\nexport { ForwardRef as ReactComponent };","import {Content} from './Content';\r\nexport default Content;\r\n","import {Error} from './Error';\r\nexport default Error;\r\n","import React from 'react';\r\nimport {useIntl} from 'react-intl';\r\n\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\nimport CrossroadImg from 'assets/image/library/skill-crossroad.svg';\r\nimport NotFoundInfo from 'components/not-found-info';\r\nimport './styles.scss';\r\n\r\nexport const Error: React.FunctionComponent = () => {\r\n const intl = useIntl();\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Error\r\n });\r\n\r\n return
\r\n \r\n
;\r\n};\r\n","import {useEffect, useState} from 'react';\r\nimport Debounce from 'lodash/debounce';\r\n\r\nexport const useResize = (): number => {\r\n const [currentWidth, setCurrentWidth] = useState(window.innerWidth);\r\n\r\n useEffect(() => {\r\n const handleResize = (e: UIEvent) => {\r\n if (e.target) {\r\n const win = e.target as Window;\r\n\r\n setCurrentWidth(win.innerWidth);\r\n }\r\n };\r\n\r\n window.addEventListener('resize', Debounce(handleResize, 20));\r\n\r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n };\r\n }, []);\r\n\r\n return currentWidth;\r\n};\r\n","import {MeetYourTeam} from './MeetYourTeam';\r\nexport default MeetYourTeam;\r\n","import React, {MouseEvent, useEffect, useRef, useState} from 'react';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\nimport cn from 'classnames';\r\n\r\nimport {tabletsWidth} from 'utils/constants/constants';\r\nimport {useResize} from 'utils/hooks/useResize';\r\n\r\nimport team from './team.json';\r\nimport './styles.scss';\r\n\r\ninterface IRIntl {\r\n id: string\r\n defaultMessage: string\r\n}\r\n\r\ninterface ITeammate {\r\n name: IRIntl\r\n description: IRIntl\r\n position: IRIntl\r\n imageName: string\r\n}\r\n\r\nexport const MeetYourTeam: React.FunctionComponent = () => {\r\n const intl = useIntl();\r\n const teammates = team as [ITeammate];\r\n const listRef = useRef(null);\r\n const [openDescription, setOpenDescription] = useState(null);\r\n const [descriptionPosition, setDescriptionPosition] = useState(null);\r\n\r\n const screenWidth = useResize();\r\n\r\n useEffect(() => {\r\n if (openDescription !== null) {\r\n setOpenDescription(null);\r\n }\r\n }, [screenWidth]);\r\n\r\n const getTeammateImage = (teammate: ITeammate): JSX.Element => {\r\n return ;\r\n };\r\n\r\n function calculatePosition(current: MouseEvent) {\r\n const targetElement = current.target as HTMLButtonElement;\r\n const tile = targetElement.closest('.team__button');\r\n\r\n if (window.innerWidth >= tabletsWidth && listRef.current && tile) {\r\n const currentTileRight = tile.getBoundingClientRect().right;\r\n const listAreaWidth = listRef.current.getBoundingClientRect().width;\r\n const listLeftPadding = listRef.current.getBoundingClientRect().left;\r\n\r\n if (currentTileRight - listLeftPadding + listAreaWidth / 2 <= listAreaWidth) {\r\n return 'right';\r\n }\r\n\r\n return 'left';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n function handleShowDescription(index: number) {\r\n return (e: MouseEvent) => {\r\n setDescriptionPosition(calculatePosition(e));\r\n if (index === openDescription) {\r\n setOpenDescription(null);\r\n } else {\r\n setOpenDescription(index);\r\n }\r\n };\r\n }\r\n\r\n function handleCloseInformation() {\r\n setOpenDescription(null);\r\n }\r\n\r\n return
\r\n

\r\n \r\n

\r\n
    \r\n {\r\n teammates.map((person, i) => {\r\n return
  • \r\n {person.name.defaultMessage\r\n ? \r\n :
    \r\n {getTeammateImage(person)}\r\n
    \r\n }\r\n
    \r\n
    \r\n {\r\n openDescription !== null\r\n && i === openDescription\r\n && teammates[openDescription].name.defaultMessage.length > 0\r\n &&
    \r\n
    \r\n

    \r\n \r\n

    \r\n \r\n X\r\n \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n }\r\n
  • ;\r\n })\r\n }\r\n
\r\n
;\r\n};\r\n","import {VimeoPlayer} from './VimeoPlayer';\r\nexport default VimeoPlayer;\r\n","import React, {useEffect, useRef} from 'react';\r\nimport Vimeo from '@vimeo/player';\r\n\r\ninterface IVimeo {\r\n onLoad?: () => void\r\n onError?: () => void\r\n videoId: number\r\n}\r\n\r\nexport const VimeoPlayer = ({\r\n onLoad = () => null,\r\n onError = () => null,\r\n videoId\r\n}: IVimeo): JSX.Element => {\r\n const videoRef = useRef(null);\r\n\r\n useEffect(() => {\r\n const player = new Vimeo(videoRef.current as unknown as HTMLElement);\r\n\r\n player.ready()\r\n .then(() => {\r\n onLoad();\r\n })\r\n .catch(() => {\r\n onError();\r\n });\r\n }, [videoId]);\r\n\r\n return ;\r\n};\r\n\r\n","export default __webpack_public_path__ + \"static/media/story.1ee0a425.svg\";","export default __webpack_public_path__ + \"static/media/why-gritX.a345491e.svg\";","export default __webpack_public_path__ + \"static/media/AppStore.e250c68b.svg\";","export default __webpack_public_path__ + \"static/media/downloadViaGooglePlay.92329c41.svg\";","export default __webpack_public_path__ + \"static/media/apple.361f4a2b.svg\";","export default __webpack_public_path__ + \"static/media/android.fa4a6c03.svg\";","export default __webpack_public_path__ + \"static/media/qr-apple.3a7a38cd.svg\";","export default __webpack_public_path__ + \"static/media/qr-google.a1b526e1.svg\";","import React from 'react';\r\nimport cn from 'classnames';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport {useDispatch} from 'react-redux';\r\n\r\nimport {startLoginAction} from 'redux/auth/authAsyncActions';\r\nimport {appStoreUrl, googlePlayUrl, intIosAccess, vimeoId} from 'utils/constants/constants';\r\n\r\nimport VimeoPlayer from 'components/vimeo-player';\r\n\r\nimport story from 'assets/image/home-page/story.svg';\r\nimport whyGritx from 'assets/image/home-page/why-gritX.svg';\r\nimport AppStore from 'assets/image/social-mobile/AppStore.svg';\r\nimport GoogleApp from 'assets/image/connect-line/downloadViaGooglePlay.svg';\r\nimport Apple from 'assets/image/social-mobile/apple.svg';\r\nimport Google from 'assets/image/social-mobile/android.svg';\r\nimport QRApple from 'assets/image/social-mobile/qr-apple.svg';\r\nimport QRGoogle from 'assets/image/social-mobile/qr-google.svg';\r\n\r\nimport './styles.scss';\r\n\r\nconst RIBoldText = (t: string) => {t};\r\n\r\nconst sections = [\r\n {\r\n img: story,\r\n keyTitle: 'gritx.home.main.section1.title',\r\n title: 'How we can help',\r\n keyDescription: 'gritx.home.main.section1.description',\r\n description: 'GritX teaches methods to help you manage your emotions, cope with trauma, resolve interpersonal conflicts, and grow your self-reflection'\r\n + ' through interactive prompts. You can save your favorite self-care tools for quick access when you need it, anytime, anywhere, and without cost. '\r\n },\r\n {\r\n img: whyGritx,\r\n bgcolor: 'green',\r\n keyTitle: 'gritx.home.main.section2.title',\r\n title: 'Why we do this',\r\n keyDescription: 'gritx.home.main.section2.description',\r\n description: 'We’re on a mission to radically scale access to quality mental health resources so you and others have the tools you need to live a'\r\n + ' fulfilling life. We are GritX and you are not alone in this. '\r\n }\r\n];\r\n\r\nconst AppsSection = () => {\r\n return
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
;\r\n};\r\n\r\nexport const MainArea: React.FunctionComponent = () => {\r\n const dispatch = useDispatch();\r\n\r\n async function handleSignIn() {\r\n dispatch(startLoginAction());\r\n }\r\n\r\n return
\r\n
\r\n
\r\n

\r\n \r\n

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

\r\n What we can give YOU: GritX is your judgment free guide to facing life challenges and personal growth.'\r\n + ' Learn scientifically proven, therapeutic exercises by our team of experts from the University of California, San Francisco.'\r\n + ' Something on your mind? Chat with GritX, our emotionally intelligent, conversational AI.'\r\n + ' Feeling adventurous? Embark on a GritXpedition and get in depth skill building resources.'\r\n + 'We put our tools in your hands completely free.'}\r\n values={{\r\n b: RIBoldText\r\n }}\r\n />\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n sections.map((item, i) =>
\r\n
\r\n \"\"/\r\n
\r\n
\r\n {\r\n item.title.length !== 0\r\n && < h3 className='section__title'>\r\n \r\n \r\n }\r\n

\r\n \r\n

\r\n
\r\n
)\r\n }\r\n
\r\n
;\r\n};\r\n","import {MainArea} from './MainArea';\r\nexport default MainArea;\r\n","import {Home} from './Home';\r\nexport default Home;\r\n","import React from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {Redirect, useLocation} from 'react-router-dom';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {firstAuthorizedRoute, TranslationKeys} from 'utils/constants/routeConstants';\r\nimport {IStore} from 'redux/interface';\r\nimport {startLoginAction} from 'redux/auth/authAsyncActions';\r\n\r\nimport MeetYourTeam from 'components/meet-your-team';\r\nimport MainArea from 'components/main-area';\r\n\r\nimport './styles.scss';\r\n\r\ninterface appLocationState {\r\n from: Location;\r\n}\r\n\r\nexport const Home: React.FunctionComponent = () => {\r\n const {\r\n auth: {\r\n auth0User,\r\n isFinishAuthorization\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Home\r\n });\r\n const {state: appLocState} = useLocation();\r\n\r\n if (auth0User) {\r\n if (appLocState) {\r\n return ;\r\n }\r\n\r\n return ;\r\n }\r\n if (!auth0User && appLocState && isFinishAuthorization) {\r\n if (appLocState) {\r\n dispatch(startLoginAction(appLocState.from.pathname + appLocState.from.hash));\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return
\r\n

\r\n \r\n

\r\n \r\n \r\n
;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/chat.ca0989a8.svg\";","export default __webpack_public_path__ + \"static/media/xpedition.c501674e.svg\";","export default __webpack_public_path__ + \"static/media/backpack.a0a1d12b.svg\";","export default __webpack_public_path__ + \"static/media/lib.aa5daa4e.svg\";","export default __webpack_public_path__ + \"static/media/materials.25862f62.svg\";","export default __webpack_public_path__ + \"static/media/language-heart.ee6cbf6a.svg\";","import React, {useState} from 'react';\r\nimport {NavLink, useLocation} from 'react-router-dom';\r\nimport cn from 'classnames';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {changeLocale, loadTranslation} from 'redux/translation/translationAsyncActions';\r\n\r\nimport {languages} from 'utils/constants/constants';\r\nimport {Routes, routeTranslationKeys} from 'utils/constants/routeConstants';\r\n\r\nimport Chat from 'assets/image/menu-auth/chat.svg';\r\nimport Xpedition from 'assets/image/menu-auth/xpedition.svg';\r\nimport Backpack from 'assets/image/menu-auth/backpack.svg';\r\nimport Library from 'assets/image/menu-auth/lib.svg';\r\nimport Materials from 'assets/image/menu-auth/materials.svg';\r\nimport language from 'assets/image/header/language-heart.svg';\r\n\r\nimport '../styles.scss';\r\n\r\nexport const LanguageMenu = (): JSX.Element => {\r\n const [isOpenLanguageMenu, setIsOpenLanguageMenu] = useState(false);\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n translation: {locale}\r\n } = useSelector((state: IStore) => state);\r\n\r\n function handleChangeLocale(value: string) {\r\n return () => {\r\n if (isOpenLanguageMenu) {\r\n setIsOpenLanguageMenu(false);\r\n } else {\r\n setIsOpenLanguageMenu(true);\r\n }\r\n dispatch(changeLocale(value));\r\n };\r\n }\r\n\r\n const sortLang = languages.reduce<{\r\n value: string;\r\n title: string;\r\n key: string;\r\n }[]>((acc, item) => {\r\n if (item.value === locale) {\r\n return [item, ...acc];\r\n }\r\n acc.push(item);\r\n\r\n return acc;\r\n }, []);\r\n\r\n return
\r\n
\r\n \r\n {\r\n sortLang\r\n .map((lang, i) => {\r\n return {lang.title};\r\n })\r\n }\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
;\r\n};\r\n\r\nconst navItems = [\r\n {\r\n index: 1,\r\n path: Routes.Chat,\r\n title: 'Chat',\r\n image: Chat,\r\n isProUser: false\r\n },\r\n {\r\n index: 2,\r\n path: Routes.Xpedition,\r\n title: 'Xpedition',\r\n image: Xpedition,\r\n isProUser: false\r\n },\r\n {\r\n index: 3,\r\n path: Routes.Backpack,\r\n title: 'Backpack',\r\n image: Backpack,\r\n isProUser: false\r\n },\r\n {\r\n index: 4,\r\n path: Routes.Materials,\r\n title: 'Materials',\r\n image: Materials,\r\n isProUser: true\r\n },\r\n {\r\n index: 5,\r\n path: Routes.Library,\r\n title: 'Library',\r\n image: Library,\r\n isProUser: false\r\n }\r\n];\r\n\r\ninterface INavigationProps {\r\n className?: string;\r\n proUser?: boolean;\r\n onOpenMenu: () => void;\r\n}\r\n\r\nexport const Navigation = ({\r\n className,\r\n proUser,\r\n onOpenMenu\r\n}: INavigationProps): JSX.Element => {\r\n const {\r\n translationKeys\r\n } = useSelector((state: IStore) => state.translation);\r\n const location = useLocation<{ parentLocation: string }>();\r\n const dispatch = useDispatch();\r\n\r\n function handleMenuItemClick(route: string) {\r\n return () => {\r\n if (!translationKeys.includes(routeTranslationKeys[route])) {\r\n dispatch(loadTranslation(routeTranslationKeys[route]));\r\n }\r\n onOpenMenu();\r\n };\r\n }\r\n\r\n function setActiveSection(pathname: string) {\r\n if (location.pathname === Routes.Content) {\r\n return !!location.state?.parentLocation.includes(pathname.substring(1));\r\n }\r\n\r\n return location.pathname === pathname;\r\n }\r\n\r\n function handleSetActiveSection(pathname: string) {\r\n return () => setActiveSection(pathname);\r\n }\r\n\r\n return ();\r\n};\r\n","export default __webpack_public_path__ + \"static/media/logo.58b72cae.svg\";","export default __webpack_public_path__ + \"static/media/login.74c16654.svg\";","export default __webpack_public_path__ + \"static/media/menu.6a3cb7bb.svg\";","export default __webpack_public_path__ + \"static/media/close.d8fb3d3e.svg\";","export default __webpack_public_path__ + \"static/media/userDefaultAvatar.1ddf0836.png\";","import {Header} from './Header';\r\nexport default Header;\r\n","import React, {useCallback, useEffect, useRef, useState} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {NavLink} from 'react-router-dom';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport cn from 'classnames';\r\n\r\nimport {Navigation, LanguageMenu} from './Navigation/Navigation';\r\n\r\nimport {startLoginAction} from 'redux/auth/authAsyncActions';\r\nimport {IStore} from 'redux/interface';\r\nimport {loadTranslation} from 'redux/translation/translationAsyncActions';\r\n\r\nimport Logo from 'assets/image/header/logo.svg';\r\nimport LoginImg from 'assets/image/home-page/login.svg';\r\nimport Menu from 'assets/image/header/menu.svg';\r\nimport CloseMenu from 'assets/image/header/close.svg';\r\nimport AppStore from 'assets/image/social-mobile/AppStore.svg';\r\nimport GoogleApp from 'assets/image/connect-line/downloadViaGooglePlay.svg';\r\nimport UserIcon from 'assets/image/user-settings/userDefaultAvatar.png';\r\n\r\nimport {proUser} from 'utils/constants/constants';\r\nimport {appStoreUrl, desktopWidth, googlePlayUrl, intIosAccess} from 'utils/constants/constants';\r\nimport {useResize} from 'utils/hooks/useResize';\r\nimport setIsBodyScrolling from 'utils/helpers/setIsBodyScrolling';\r\nimport {Routes, routeTranslationKeys} from 'utils/constants/routeConstants';\r\nimport {useLoadFile} from 'utils/hooks/useLoadFile';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Header: React.FunctionComponent = () => {\r\n const {\r\n auth: {\r\n auth0User,\r\n userProfile\r\n },\r\n translation: {\r\n translationKeys\r\n }\r\n } = useSelector((state: IStore) => state);\r\n\r\n const dispatch = useDispatch();\r\n const {\r\n getFileUrl\r\n } = useLoadFile();\r\n\r\n const [isOpenAuthMenu, setIsOpenAuthMenu] = useState(false);\r\n const [isOpenGuestMenu, setIsOpenGuestMenu] = useState(false);\r\n\r\n const proFlag = auth0User?.['https://gritx.org/roles']?.includes(proUser);\r\n\r\n const screenWidth = useResize();\r\n\r\n const node = useRef(null);\r\n\r\n useEffect(() => {\r\n if (screenWidth >= desktopWidth && (isOpenAuthMenu || isOpenGuestMenu)) {\r\n setIsBodyScrolling(true);\r\n setIsOpenAuthMenu(false);\r\n setIsOpenGuestMenu(false);\r\n }\r\n }, [screenWidth]);\r\n\r\n const escapeListener = useCallback((event: KeyboardEvent) => {\r\n if (event.key === 'Escape') {\r\n setIsOpenAuthMenu(false);\r\n setIsOpenGuestMenu(false);\r\n }\r\n }, []);\r\n\r\n const handleClick = useCallback((event: MouseEvent): void => {\r\n const element = event.target as HTMLElement;\r\n\r\n if (node.current && node.current.contains(element)) {\r\n return;\r\n }\r\n setIsOpenAuthMenu(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n document.addEventListener('mousedown', handleClick);\r\n document.addEventListener('keyup', escapeListener);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', handleClick);\r\n document.removeEventListener('keyup', escapeListener);\r\n };\r\n }, []);\r\n\r\n async function handleSignIn() {\r\n if (isOpenGuestMenu) {\r\n setIsOpenGuestMenu(false);\r\n }\r\n dispatch(startLoginAction());\r\n }\r\n\r\n function handleSignOut() {\r\n if (isOpenAuthMenu) {\r\n setIsOpenAuthMenu(false);\r\n }\r\n }\r\n\r\n function handleBurgerButton() {\r\n setIsBodyScrolling(isOpenGuestMenu);\r\n setIsOpenGuestMenu(!isOpenGuestMenu);\r\n }\r\n\r\n function handleMenuAuthButton() {\r\n setIsOpenAuthMenu(!isOpenAuthMenu);\r\n }\r\n\r\n function handleScrollTop() {\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n function handleCloseAuthMenu() {\r\n setIsOpenAuthMenu(false);\r\n }\r\n\r\n function handleClickSettings() {\r\n if (!translationKeys.includes(routeTranslationKeys[Routes.Settings])) {\r\n dispatch(loadTranslation(routeTranslationKeys[Routes.Settings]));\r\n }\r\n setIsOpenAuthMenu(false);\r\n }\r\n\r\n function showUserInitials() {\r\n return (\r\n (userProfile && userProfile.firstName && userProfile.lastName)\r\n ? `${userProfile.firstName.substr(0, 1)}${userProfile.lastName.substr(0, 1)}`\r\n : auth0User?.nickname.substr(0, 2)\r\n );\r\n }\r\n\r\n const ButtonSignIn = () => {\r\n return (\r\n
\r\n {auth0User === null ? (\r\n \r\n \"\"\r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n };\r\n\r\n const ButtonAuthUser = () => {\r\n return (\r\n
\r\n {auth0User !== null ? (\r\n \r\n \r\n

\r\n {showUserInitials()}\r\n

\r\n \r\n ) : null}\r\n
\r\n );\r\n };\r\n\r\n const MenuAuthUser = () => {\r\n return (\r\n
    \r\n
  • \r\n \r\n \r\n {showUserInitials()}\r\n \r\n

    \r\n \r\n

    \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {auth0User === null\r\n ? \r\n : (\r\n \r\n )}\r\n
\r\n
\r\n {auth0User === null ? : }\r\n\r\n {auth0User === null ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n\r\n {auth0User === null ? (\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

\r\n \r\n International iOS Access\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n","import {Privacy} from './Privacy';\r\nexport default Privacy;\r\n","import React, {FunctionComponent} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Privacy: FunctionComponent = () => {\r\n return
\r\n
\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

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

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

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

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
;\r\n};\r\n","import {Term} from './Term';\r\nexport default Term;\r\n","import React, {FunctionComponent} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Term: FunctionComponent = () => {\r\n return
\r\n
\r\n \r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

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

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
;\r\n};\r\n","import {AdditionalInformation} from './AdditionalInformation';\r\nexport default AdditionalInformation;\r\n","import React, {FunctionComponent, useState} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport Privacy from 'components/privacy';\r\nimport Term from 'components/term';\r\nimport ModalWindow from 'components/modal-window';\r\nimport setIsBodyScrolling from 'utils/helpers/setIsBodyScrolling';\r\n\r\nimport './styles.scss';\r\n\r\nexport const AdditionalInformation: FunctionComponent = () => {\r\n const [isShowPrivacy, setIsShowPrivacy] = useState(false);\r\n const [isShowTerms, setIsShowTerms] = useState(false);\r\n\r\n function openPrivacyWindow() {\r\n setIsShowPrivacy(true);\r\n setIsBodyScrolling(false);\r\n }\r\n\r\n function hidePrivacyWindow() {\r\n setIsBodyScrolling(true);\r\n setIsShowPrivacy(false);\r\n }\r\n\r\n function openTermsWindow() {\r\n setIsShowTerms(true);\r\n setIsBodyScrolling(false);\r\n }\r\n\r\n function hideTermsWindow() {\r\n setIsBodyScrolling(true);\r\n setIsShowTerms(false);\r\n }\r\n\r\n return
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
|
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
;\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgInstagram(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"icon-svg\",\n id: \"instagram\",\n d: \"M16,6.16216c3.20414,0,3.58366.01222,4.849.06995a6.64012,6.64012,0,0,1,2.22824.4132,3.97394,3.97394,0,0,1,2.27743,2.27743,6.64009,6.64009,0,0,1,.4132,2.22822c.05773,1.26538.06995,1.6449.06995,4.849s-.01222,3.58366-.06995,4.849a6.64012,6.64012,0,0,1-.4132,2.22824,3.97394,3.97394,0,0,1-2.27743,2.27743,6.64012,6.64012,0,0,1-2.22824.4132c-1.26518.05773-1.64466.06995-4.849.06995s-3.58384-.01222-4.849-.06995a6.64012,6.64012,0,0,1-2.22824-.4132,3.97394,3.97394,0,0,1-2.27743-2.27743,6.64009,6.64009,0,0,1-.4132-2.22822c-.05773-1.26538-.06995-1.6449-.06995-4.849s.01222-3.58366.06995-4.849a6.64012,6.64012,0,0,1,.4132-2.22824A3.97394,3.97394,0,0,1,8.92274,6.64531a6.64009,6.64009,0,0,1,2.22822-.4132c1.26538-.05773,1.6449-.06995,4.849-.06995M16,4c-3.259,0-3.66766.0138-4.94758.0722A8.80773,8.80773,0,0,0,8.13953,4.63,6.136,6.136,0,0,0,4.63,8.13953a8.80773,8.80773,0,0,0-.55779,2.91289C4.0138,12.33234,4,12.741,4,16s.0138,3.66766.0722,4.94758A8.80773,8.80773,0,0,0,4.63,23.86047,6.136,6.136,0,0,0,8.13953,27.37a8.80773,8.80773,0,0,0,2.91289.55779C12.33234,27.98621,12.741,28,16,28s3.66766-.01379,4.94758-.0722A8.80773,8.80773,0,0,0,23.86047,27.37,6.136,6.136,0,0,0,27.37,23.86047a8.80773,8.80773,0,0,0,.55779-2.91289C27.9862,19.66766,28,19.259,28,16s-.0138-3.66766-.0722-4.94758A8.80773,8.80773,0,0,0,27.37,8.13953,6.136,6.136,0,0,0,23.86047,4.63a8.80773,8.80773,0,0,0-2.91289-.55779C19.66766,4.0138,19.259,4,16,4Zm0,5.83784A6.16216,6.16216,0,1,0,22.16216,16,6.16216,6.16216,0,0,0,16,9.83784ZM16,20a4,4,0,1,1,4-4A4,4,0,0,1,16,20ZM22.40563,8.15437a1.44,1.44,0,1,0,1.44,1.44A1.44,1.44,0,0,0,22.40563,8.15437Z\",\n fill: \"#262626\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInstagram);\nexport default __webpack_public_path__ + \"static/media/instagram.384905f3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTwitter(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"icon-svg\",\n id: \"twitter\",\n d: \"M26.32865,10.20428c.01043.22891.01043.45778.01043.6867A15.18194,15.18194,0,0,1,2.99214,23.68808a10.26487,10.26487,0,0,0,1.26929.07283A10.70029,10.70029,0,0,0,10.8889,21.472a5.33486,5.33486,0,0,1-4.9836-3.70387,5.36636,5.36636,0,0,0,2.40336-.09364,5.34632,5.34632,0,0,1-4.2761-5.23331v-.07283a5.39627,5.39627,0,0,0,2.41374.6659A5.35659,5.35659,0,0,1,4.79205,5.90738,15.1498,15.1498,0,0,0,15.78924,11.484a5.89821,5.89821,0,0,1-.13524-1.21727,5.33642,5.33642,0,0,1,9.22847-3.65189,10.61188,10.61188,0,0,0,3.3918-1.2901A5.368,5.368,0,0,1,25.9229,8.27951a10.81127,10.81127,0,0,0,3.06924-.84274A10.868,10.868,0,0,1,26.32865,10.20428Z\",\n fill: \"#262626\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTwitter);\nexport default __webpack_public_path__ + \"static/media/twitter.5675ef11.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownloadViaAppStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"livetype\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 119.66407,\n height: 40,\n viewBox: \"0 0 119.66407 40\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.13477,0H9.53468c-.3667,0-.729,0-1.09473.002-.30615.002-.60986.00781-.91895.0127A13.21476,13.21476,0,0,0,5.5171.19141a6.66509,6.66509,0,0,0-1.90088.627A6.43779,6.43779,0,0,0,1.99757,1.99707,6.25844,6.25844,0,0,0,.81935,3.61816a6.60119,6.60119,0,0,0-.625,1.90332,12.993,12.993,0,0,0-.1792,2.002C.00587,7.83008.00489,8.1377,0,8.44434V31.5586c.00489.3105.00587.6113.01515.9219a12.99232,12.99232,0,0,0,.1792,2.0019,6.58756,6.58756,0,0,0,.625,1.9043A6.20778,6.20778,0,0,0,1.99757,38.001a6.27445,6.27445,0,0,0,1.61865,1.1787,6.70082,6.70082,0,0,0,1.90088.6308,13.45514,13.45514,0,0,0,2.0039.1768c.30909.0068.6128.0107.91895.0107C8.80567,40,9.168,40,9.53468,40H110.13477c.3594,0,.7246,0,1.084-.002.3047,0,.6172-.0039.9219-.0107a13.279,13.279,0,0,0,2-.1768,6.80432,6.80432,0,0,0,1.9082-.6308,6.27742,6.27742,0,0,0,1.6172-1.1787,6.39482,6.39482,0,0,0,1.1816-1.6143,6.60413,6.60413,0,0,0,.6191-1.9043,13.50643,13.50643,0,0,0,.1856-2.0019c.0039-.3106.0039-.6114.0039-.9219.0078-.3633.0078-.7246.0078-1.0938V9.53613c0-.36621,0-.72949-.0078-1.09179,0-.30664,0-.61426-.0039-.9209a13.5071,13.5071,0,0,0-.1856-2.002,6.6177,6.6177,0,0,0-.6191-1.90332,6.46619,6.46619,0,0,0-2.7988-2.7998,6.76754,6.76754,0,0,0-1.9082-.627,13.04394,13.04394,0,0,0-2-.17676c-.3047-.00488-.6172-.01074-.9219-.01269-.3594-.002-.7246-.002-1.084-.002Z\",\n style: {\n fill: \"#a6a6a6\"\n }\n }), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.44483,39.125c-.30468,0-.602-.0039-.90429-.0107a12.68714,12.68714,0,0,1-1.86914-.1631,5.88381,5.88381,0,0,1-1.65674-.5479,5.40573,5.40573,0,0,1-1.397-1.0166,5.32082,5.32082,0,0,1-1.02051-1.3965,5.72186,5.72186,0,0,1-.543-1.6572,12.41351,12.41351,0,0,1-.1665-1.875c-.00634-.2109-.01464-.9131-.01464-.9131V8.44434S.88185,7.75293.8877,7.5498a12.37039,12.37039,0,0,1,.16553-1.87207,5.7555,5.7555,0,0,1,.54346-1.6621A5.37349,5.37349,0,0,1,2.61183,2.61768,5.56543,5.56543,0,0,1,4.01417,1.59521a5.82309,5.82309,0,0,1,1.65332-.54394A12.58589,12.58589,0,0,1,7.543.88721L8.44532.875H111.21387l.9131.0127a12.38493,12.38493,0,0,1,1.8584.16259,5.93833,5.93833,0,0,1,1.6709.54785,5.59374,5.59374,0,0,1,2.415,2.41993,5.76267,5.76267,0,0,1,.5352,1.64892,12.995,12.995,0,0,1,.1738,1.88721c.0029.2832.0029.5874.0029.89014.0079.375.0079.73193.0079,1.09179V30.4648c0,.3633,0,.7178-.0079,1.0752,0,.3252,0,.6231-.0039.9297a12.73126,12.73126,0,0,1-.1709,1.8535,5.739,5.739,0,0,1-.54,1.67,5.48029,5.48029,0,0,1-1.0156,1.3857,5.4129,5.4129,0,0,1-1.3994,1.0225,5.86168,5.86168,0,0,1-1.668.5498,12.54218,12.54218,0,0,1-1.8692.1631c-.2929.0068-.5996.0107-.8974.0107l-1.084.002Z\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"_Group_\",\n \"data-name\": \"\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"_Group_2\",\n \"data-name\": \"\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"_Group_3\",\n \"data-name\": \"\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"_Path_\",\n \"data-name\": \"\",\n d: \"M24.76888,20.30068a4.94881,4.94881,0,0,1,2.35656-4.15206,5.06566,5.06566,0,0,0-3.99116-2.15768c-1.67924-.17626-3.30719,1.00483-4.1629,1.00483-.87227,0-2.18977-.98733-3.6085-.95814a5.31529,5.31529,0,0,0-4.47292,2.72787c-1.934,3.34842-.49141,8.26947,1.3612,10.97608.9269,1.32535,2.01018,2.8058,3.42763,2.7533,1.38706-.05753,1.9051-.88448,3.5794-.88448,1.65876,0,2.14479.88448,3.591.8511,1.48838-.02416,2.42613-1.33124,3.32051-2.66914a10.962,10.962,0,0,0,1.51842-3.09251A4.78205,4.78205,0,0,1,24.76888,20.30068Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"_Path_2\",\n \"data-name\": \"\",\n d: \"M22.03725,12.21089a4.87248,4.87248,0,0,0,1.11452-3.49062,4.95746,4.95746,0,0,0-3.20758,1.65961,4.63634,4.63634,0,0,0-1.14371,3.36139A4.09905,4.09905,0,0,0,22.03725,12.21089Z\",\n style: {\n fill: \"#fff\"\n }\n }))), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.30227,27.13965h-4.7334l-1.13672,3.35645H34.42727l4.4834-12.418h2.083l4.4834,12.418H43.438ZM38.0591,25.59082h3.752l-1.84961-5.44727h-.05176Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.15969,25.96973c0,2.81348-1.50586,4.62109-3.77832,4.62109a3.0693,3.0693,0,0,1-2.84863-1.584h-.043v4.48438h-1.8584V21.44238H48.4302v1.50586h.03418a3.21162,3.21162,0,0,1,2.88281-1.60059C53.645,21.34766,55.15969,23.16406,55.15969,25.96973Zm-1.91016,0c0-1.833-.94727-3.03809-2.39258-3.03809-1.41992,0-2.375,1.23047-2.375,3.03809,0,1.82422.95508,3.0459,2.375,3.0459C52.30227,29.01563,53.24953,27.81934,53.24953,25.96973Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.12453,25.96973c0,2.81348-1.50586,4.62109-3.77832,4.62109a3.0693,3.0693,0,0,1-2.84863-1.584h-.043v4.48438h-1.8584V21.44238H58.395v1.50586h.03418A3.21162,3.21162,0,0,1,61.312,21.34766C63.60988,21.34766,65.12453,23.16406,65.12453,25.96973Zm-1.91016,0c0-1.833-.94727-3.03809-2.39258-3.03809-1.41992,0-2.375,1.23047-2.375,3.03809,0,1.82422.95508,3.0459,2.375,3.0459C62.26711,29.01563,63.21438,27.81934,63.21438,25.96973Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.71047,27.03613c.1377,1.23145,1.334,2.04,2.96875,2.04,1.56641,0,2.69336-.80859,2.69336-1.91895,0-.96387-.67969-1.541-2.28906-1.93652l-1.60937-.3877c-2.28027-.55078-3.33887-1.61719-3.33887-3.34766,0-2.14258,1.86719-3.61426,4.51855-3.61426,2.624,0,4.42285,1.47168,4.4834,3.61426h-1.876c-.1123-1.23926-1.13672-1.9873-2.63379-1.9873s-2.52148.75684-2.52148,1.8584c0,.87793.6543,1.39453,2.25488,1.79l1.36816.33594c2.54785.60254,3.60645,1.626,3.60645,3.44238,0,2.32324-1.85059,3.77832-4.79395,3.77832-2.75391,0-4.61328-1.4209-4.7334-3.667Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.34621,19.2998v2.14258h1.72168v1.47168H83.34621v4.99121c0,.77539.34473,1.13672,1.10156,1.13672a5.80752,5.80752,0,0,0,.61133-.043v1.46289a5.10351,5.10351,0,0,1-1.03223.08594c-1.833,0-2.54785-.68848-2.54785-2.44434V22.91406H80.16262V21.44238H81.479V19.2998Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.065,25.96973c0-2.84863,1.67773-4.63867,4.29395-4.63867,2.625,0,4.29492,1.79,4.29492,4.63867,0,2.85645-1.66113,4.63867-4.29492,4.63867C87.72609,30.6084,86.065,28.82617,86.065,25.96973Zm6.69531,0c0-1.9541-.89551-3.10742-2.40137-3.10742s-2.40039,1.16211-2.40039,3.10742c0,1.96191.89453,3.10645,2.40039,3.10645S92.76027,27.93164,92.76027,25.96973Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.18606,21.44238h1.77246v1.541h.043a2.1594,2.1594,0,0,1,2.17773-1.63574,2.86616,2.86616,0,0,1,.63672.06934v1.73828a2.59794,2.59794,0,0,0-.835-.1123,1.87264,1.87264,0,0,0-1.93652,2.083v5.37012h-1.8584Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.3843,27.83691c-.25,1.64355-1.85059,2.77148-3.89844,2.77148-2.63379,0-4.26855-1.76465-4.26855-4.5957,0-2.83984,1.64355-4.68164,4.19043-4.68164,2.50488,0,4.08008,1.7207,4.08008,4.46582v.63672h-6.39453v.1123a2.358,2.358,0,0,0,2.43555,2.56445,2.04834,2.04834,0,0,0,2.09082-1.27344Zm-6.28223-2.70215h4.52637a2.1773,2.1773,0,0,0-2.2207-2.29785A2.292,2.292,0,0,0,103.10207,25.13477Z\",\n style: {\n fill: \"#fff\"\n }\n })))), /*#__PURE__*/React.createElement(\"g\", {\n id: \"_Group_4\",\n \"data-name\": \"\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.82619,8.731a2.63964,2.63964,0,0,1,2.80762,2.96484c0,1.90625-1.03027,3.002-2.80762,3.002H35.67092V8.731Zm-1.22852,5.123h1.125a1.87588,1.87588,0,0,0,1.96777-2.146,1.881,1.881,0,0,0-1.96777-2.13379h-1.125Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.68068,12.44434a2.13323,2.13323,0,1,1,4.24707,0,2.13358,2.13358,0,1,1-4.24707,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C44.57522,13.99463,45.01369,13.42432,45.01369,12.44434Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.57326,14.69775h-.92187l-.93066-3.31641h-.07031l-.92676,3.31641h-.91309l-1.24121-4.50293h.90137l.80664,3.436h.06641l.92578-3.436h.85254l.92578,3.436h.07031l.80273-3.436h.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.85354,10.19482H54.709v.71533h.06641a1.348,1.348,0,0,1,1.34375-.80225,1.46456,1.46456,0,0,1,1.55859,1.6748v2.915h-.88867V12.00586c0-.72363-.31445-1.0835-.97168-1.0835a1.03294,1.03294,0,0,0-1.0752,1.14111v2.63428h-.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.09377,8.437h.88867v6.26074h-.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.21779,12.44434a2.13346,2.13346,0,1,1,4.24756,0,2.1338,2.1338,0,1,1-4.24756,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C64.11232,13.99463,64.5508,13.42432,64.5508,12.44434Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.4009,13.42432c0-.81055.60352-1.27783,1.6748-1.34424l1.21973-.07031v-.38867c0-.47559-.31445-.74414-.92187-.74414-.49609,0-.83984.18213-.93848.50049h-.86035c.09082-.77344.81836-1.26953,1.83984-1.26953,1.12891,0,1.76563.562,1.76563,1.51318v3.07666h-.85547v-.63281h-.07031a1.515,1.515,0,0,1-1.35254.707A1.36026,1.36026,0,0,1,66.4009,13.42432Zm2.89453-.38477v-.37646l-1.09961.07031c-.62012.0415-.90137.25244-.90137.64941,0,.40527.35156.64111.835.64111A1.0615,1.0615,0,0,0,69.29543,13.03955Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.34816,12.44434c0-1.42285.73145-2.32422,1.86914-2.32422a1.484,1.484,0,0,1,1.38086.79h.06641V8.437h.88867v6.26074h-.85156v-.71143h-.07031a1.56284,1.56284,0,0,1-1.41406.78564C72.0718,14.772,71.34816,13.87061,71.34816,12.44434Zm.918,0c0,.95508.4502,1.52979,1.20313,1.52979.749,0,1.21191-.583,1.21191-1.52588,0-.93848-.46777-1.52979-1.21191-1.52979C72.72121,10.91846,72.26613,11.49707,72.26613,12.44434Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.23,12.44434a2.13323,2.13323,0,1,1,4.24707,0,2.13358,2.13358,0,1,1-4.24707,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C82.12453,13.99463,82.563,13.42432,82.563,12.44434Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.66945,10.19482h.85547v.71533h.06641a1.348,1.348,0,0,1,1.34375-.80225,1.46456,1.46456,0,0,1,1.55859,1.6748v2.915H87.605V12.00586c0-.72363-.31445-1.0835-.97168-1.0835a1.03294,1.03294,0,0,0-1.0752,1.14111v2.63428h-.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.51516,9.07373v1.1416h.97559v.74854h-.97559V13.2793c0,.47168.19434.67822.63672.67822a2.96657,2.96657,0,0,0,.33887-.02051v.74023a2.9155,2.9155,0,0,1-.4834.04541c-.98828,0-1.38184-.34766-1.38184-1.21582v-2.543h-.71484v-.74854h.71484V9.07373Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.70461,8.437h.88086v2.48145h.07031a1.3856,1.3856,0,0,1,1.373-.80664,1.48339,1.48339,0,0,1,1.55078,1.67871v2.90723H98.69v-2.688c0-.71924-.335-1.0835-.96289-1.0835a1.05194,1.05194,0,0,0-1.13379,1.1416v2.62988h-.88867Z\",\n style: {\n fill: \"#fff\"\n }\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.76125,13.48193a1.828,1.828,0,0,1-1.95117,1.30273A2.04531,2.04531,0,0,1,100.73,12.46045a2.07685,2.07685,0,0,1,2.07617-2.35254c1.25293,0,2.00879.856,2.00879,2.27V12.688h-3.17969v.0498a1.1902,1.1902,0,0,0,1.19922,1.29,1.07934,1.07934,0,0,0,1.07129-.5459Zm-3.126-1.45117h2.27441a1.08647,1.08647,0,0,0-1.1084-1.1665A1.15162,1.15162,0,0,0,101.63527,12.03076Z\",\n style: {\n fill: \"#fff\"\n }\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadViaAppStore);\nexport default __webpack_public_path__ + \"static/media/downloadViaAppStore.944410b0.svg\";\nexport { ForwardRef as ReactComponent };","var _linearGradient, _linearGradient2, _linearGradient3, _linearGradient4, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownloadViaGooglePlay(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 741,\n viewBox: \"0 0 135 40\",\n width: 2500,\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _linearGradient || (_linearGradient = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"a\",\n gradientTransform: \"matrix(1 0 0 -1 0 42)\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 21.8,\n x2: 5.017,\n y1: 33.29,\n y2: 16.508\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#00a0ff\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.007,\n stopColor: \"#00a1ff\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.26,\n stopColor: \"#00beff\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.512,\n stopColor: \"#00d2ff\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.76,\n stopColor: \"#00dfff\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00e3ff\"\n }))), _linearGradient2 || (_linearGradient2 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"b\",\n gradientTransform: \"matrix(1 0 0 -1 0 42)\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 33.834,\n x2: 9.637,\n y1: 21.999,\n y2: 21.999\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#ffe000\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.409,\n stopColor: \"#ffbd00\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.775,\n stopColor: \"orange\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#ff9c00\"\n }))), _linearGradient3 || (_linearGradient3 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"c\",\n gradientTransform: \"matrix(1 0 0 -1 0 42)\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 24.827,\n x2: 2.069,\n y1: 19.704,\n y2: -3.054\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#ff3a44\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#c31162\"\n }))), _linearGradient4 || (_linearGradient4 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"d\",\n gradientTransform: \"matrix(1 0 0 -1 0 42)\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 7.297,\n x2: 17.46,\n y1: 41.824,\n y2: 31.661\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#32a071\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.069,\n stopColor: \"#2da771\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.476,\n stopColor: \"#15cf74\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.801,\n stopColor: \"#06e775\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#00f076\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130 40H5c-2.8 0-5-2.2-5-5V5c0-2.8 2.2-5 5-5h125c2.8 0 5 2.2 5 5v30c0 2.8-2.2 5-5 5z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130 .8c2.3 0 4.2 1.9 4.2 4.2v30c0 2.3-1.9 4.2-4.2 4.2H5C2.7 39.2.8 37.3.8 35V5C.8 2.7 2.7.8 5 .8zm0-.8H5C2.2 0 0 2.3 0 5v30c0 2.8 2.2 5 5 5h125c2.8 0 5-2.2 5-5V5c0-2.7-2.2-5-5-5z\",\n fill: \"#a6a6a6\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.4 10.2c0 .8-.2 1.5-.7 2-.6.6-1.3.9-2.2.9s-1.6-.3-2.2-.9-.9-1.3-.9-2.2.3-1.6.9-2.2 1.3-.9 2.2-.9c.4 0 .8.1 1.2.3s.7.4.9.7l-.5.5c-.4-.5-.9-.7-1.6-.7-.6 0-1.2.2-1.6.7-.5.4-.7 1-.7 1.7s.2 1.3.7 1.7 1 .7 1.6.7c.7 0 1.2-.2 1.7-.7.3-.3.5-.7.5-1.2h-2.2v-.8h2.9zM52 7.7h-2.7v1.9h2.5v.7h-2.5v1.9H52v.8h-3.5V7H52zm3.3 5.3h-.8V7.7h-1.7V7H57v.7h-1.7zm4.6 0V7h.8v6zm4.2 0h-.8V7.7h-1.7V7h4.1v.7H64V13zm9.5-.8c-.6.6-1.3.9-2.2.9s-1.6-.3-2.2-.9-.9-1.3-.9-2.2.3-1.6.9-2.2 1.3-.9 2.2-.9 1.6.3 2.2.9.9 1.3.9 2.2-.3 1.6-.9 2.2zm-3.8-.5c.4.4 1 .7 1.6.7s1.2-.2 1.6-.7c.4-.4.7-1 .7-1.7s-.2-1.3-.7-1.7c-.4-.4-1-.7-1.6-.7s-1.2.2-1.6.7c-.4.4-.7 1-.7 1.7s.2 1.3.7 1.7zm5.8 1.3V7h.9l2.9 4.7V7h.8v6h-.8l-3.1-4.9V13z\",\n fill: \"#fff\",\n stroke: \"#fff\",\n strokeMiterlimit: 10,\n strokeWidth: 0.2\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.1 21.8c-2.4 0-4.3 1.8-4.3 4.3 0 2.4 1.9 4.3 4.3 4.3s4.3-1.8 4.3-4.3c0-2.6-1.9-4.3-4.3-4.3zm0 6.8c-1.3 0-2.4-1.1-2.4-2.6s1.1-2.6 2.4-2.6 2.4 1 2.4 2.6c0 1.5-1.1 2.6-2.4 2.6zm-9.3-6.8c-2.4 0-4.3 1.8-4.3 4.3 0 2.4 1.9 4.3 4.3 4.3s4.3-1.8 4.3-4.3c0-2.6-1.9-4.3-4.3-4.3zm0 6.8c-1.3 0-2.4-1.1-2.4-2.6s1.1-2.6 2.4-2.6 2.4 1 2.4 2.6c0 1.5-1.1 2.6-2.4 2.6zm-11.1-5.5v1.8H52c-.1 1-.5 1.8-1 2.3-.6.6-1.6 1.3-3.3 1.3-2.7 0-4.7-2.1-4.7-4.8s2.1-4.8 4.7-4.8c1.4 0 2.5.6 3.3 1.3l1.3-1.3c-1.1-1-2.5-1.8-4.5-1.8-3.6 0-6.7 3-6.7 6.6s3.1 6.6 6.7 6.6c2 0 3.4-.6 4.6-1.9 1.2-1.2 1.6-2.9 1.6-4.2 0-.4 0-.8-.1-1.1zm45.4 1.4c-.4-1-1.4-2.7-3.6-2.7s-4 1.7-4 4.3c0 2.4 1.8 4.3 4.2 4.3 1.9 0 3.1-1.2 3.5-1.9l-1.4-1c-.5.7-1.1 1.2-2.1 1.2s-1.6-.4-2.1-1.3l5.7-2.4zm-5.8 1.4c0-1.6 1.3-2.5 2.2-2.5.7 0 1.4.4 1.6.9zM82.6 30h1.9V17.5h-1.9zm-3-7.3c-.5-.5-1.3-1-2.3-1-2.1 0-4.1 1.9-4.1 4.3s1.9 4.2 4.1 4.2c1 0 1.8-.5 2.2-1h.1v.6c0 1.6-.9 2.5-2.3 2.5-1.1 0-1.9-.8-2.1-1.5l-1.6.7c.5 1.1 1.7 2.5 3.8 2.5 2.2 0 4-1.3 4-4.4V22h-1.8zm-2.2 5.9c-1.3 0-2.4-1.1-2.4-2.6s1.1-2.6 2.4-2.6 2.3 1.1 2.3 2.6-1 2.6-2.3 2.6zm24.4-11.1h-4.5V30h1.9v-4.7h2.6c2.1 0 4.1-1.5 4.1-3.9s-2-3.9-4.1-3.9zm.1 6h-2.7v-4.3h2.7c1.4 0 2.2 1.2 2.2 2.1-.1 1.1-.9 2.2-2.2 2.2zm11.5-1.8c-1.4 0-2.8.6-3.3 1.9l1.7.7c.4-.7 1-.9 1.7-.9 1 0 1.9.6 2 1.6v.1c-.3-.2-1.1-.5-1.9-.5-1.8 0-3.6 1-3.6 2.8 0 1.7 1.5 2.8 3.1 2.8 1.3 0 1.9-.6 2.4-1.2h.1v1h1.8v-4.8c-.2-2.2-1.9-3.5-4-3.5zm-.2 6.9c-.6 0-1.5-.3-1.5-1.1 0-1 1.1-1.3 2-1.3.8 0 1.2.2 1.7.4-.2 1.2-1.2 2-2.2 2zm10.5-6.6l-2.1 5.4h-.1l-2.2-5.4h-2l3.3 7.6-1.9 4.2h1.9l5.1-11.8zm-16.8 8h1.9V17.5h-1.9z\",\n fill: \"#fff\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.4 7.5c-.3.3-.4.8-.4 1.4V31c0 .6.2 1.1.5 1.4l.1.1L23 20.1v-.2z\",\n fill: \"url(#a)\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27 24.3l-4.1-4.1v-.3l4.1-4.1.1.1 4.9 2.8c1.4.8 1.4 2.1 0 2.9z\",\n fill: \"url(#b)\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.1 24.2L22.9 20 10.4 32.5c.5.5 1.2.5 2.1.1z\",\n fill: \"url(#c)\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.1 15.8L12.5 7.5c-.9-.5-1.6-.4-2.1.1L22.9 20z\",\n fill: \"url(#d)\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27 24.1l-14.5 8.2c-.8.5-1.5.4-2 0l-.1.1.1.1c.5.4 1.2.5 2 0z\",\n opacity: 0.2\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.4 32.3c-.3-.3-.4-.8-.4-1.4v.1c0 .6.2 1.1.5 1.4v-.1zm21.6-11l-5 2.8.1.1 4.9-2.8c.7-.4 1-.9 1-1.4 0 .5-.4.9-1 1.3z\",\n opacity: 0.12\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 7.6L32 18.7c.6.4 1 .8 1 1.3 0-.5-.3-1-1-1.4L12.5 7.5c-1.4-.8-2.5-.2-2.5 1.4V9c0-1.5 1.1-2.2 2.5-1.4z\",\n fill: \"#fff\",\n opacity: 0.25\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadViaGooglePlay);\nexport default __webpack_public_path__ + \"static/media/downloadViaGooglePlay.92329c41.svg\";\nexport { ForwardRef as ReactComponent };","export enum SendStatus {\r\n Sending,\r\n Draft,\r\n Finish,\r\n FinishNewsletter,\r\n}\r\n","import {ConnectLine} from './ConnectLine';\r\nexport default ConnectLine;\r\n","import React, {FunctionComponent} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport {ReactComponent as FacebookIcon} from 'assets/image/connect-line/facebook.svg';\r\nimport {ReactComponent as InstagramIcon} from 'assets/image/connect-line/instagram.svg';\r\nimport {ReactComponent as TwitterIcon} from 'assets/image/connect-line/twitter.svg';\r\nimport {ReactComponent as DownloadViaAppStoreIcon} from 'assets/image/connect-line/downloadViaAppStore.svg';\r\nimport {ReactComponent as DownloadViaGooglePlayIcon} from 'assets/image/connect-line/downloadViaGooglePlay.svg';\r\n\r\nimport {twitterUrl, facebookUrl, instagramUrl, googlePlayUrl, appStoreUrl} from 'utils/constants/constants';\r\n\r\nimport './styles.scss';\r\n\r\nexport const ConnectLine: FunctionComponent = () => {\r\n return ;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/helpCry.e0693d50.svg\";","export default __webpack_public_path__ + \"static/media/helpRun.a084d426.svg\";","export default __webpack_public_path__ + \"static/media/helpTree.ce2b399d.svg\";","import {ContactLine} from './ContactLine';\r\nexport default ContactLine;\r\n","import React from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport CryingPicture from 'assets/image/contact-line/helpCry.svg';\r\nimport RunningPicture from 'assets/image/contact-line/helpRun.svg';\r\nimport TreePicture from 'assets/image/contact-line/helpTree.svg';\r\n\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n hideSeparator?: boolean;\r\n}\r\n\r\nexport const ContactLine = ({hideSeparator}: Props): JSX.Element => {\r\n const separator = hideSeparator ? null : (
);\r\n\r\n return
\r\n {separator}\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
;\r\n};\r\n\r\n","export default __webpack_public_path__ + \"static/media/contactRead.9ca3656e.svg\";","export default __webpack_public_path__ + \"static/media/contactTalk.722e2289.svg\";","export default __webpack_public_path__ + \"static/media/contactWrite.bbca7814.svg\";","import {emailRegExp} from '../constants/constants';\r\n\r\nexport function isRequiredValidator(value: string): boolean {\r\n return Boolean(value.trim().length);\r\n}\r\n\r\nexport function minLengthValidator(value: string, length: number): boolean {\r\n return value.length < length;\r\n}\r\n\r\nexport function maxLengthValidator(value: string, length: number): boolean {\r\n return value.length >= length;\r\n}\r\n\r\nexport function isValidEmail(value: string): boolean {\r\n return emailRegExp.test(value);\r\n}\r\n","export function toBase64(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n}\r\n","import axios, {AxiosResponse} from 'axios';\r\nimport {IFeedbackAttachInfo} from 'redux/feedback/interfaces';\r\nimport {INewsletterFormModel, IPostFormModel} from 'components/feedback-forms/interfaces';\r\n\r\nexport const uploadFeedbackAttachApi = (contentData: string | ArrayBuffer | null, fileName: string): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/mail/upload`,\r\n {\r\n fileBody: contentData,\r\n fileName\r\n },\r\n {\r\n headers: {\r\n Accept: 'application/json',\r\n API_KEY: process.env.REACT_APP_API_KEY,\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n );\r\n};\r\nexport const postFeedbackApi = (formData: IPostFormModel): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/mail/inner/send`,\r\n formData,\r\n {\r\n headers: {\r\n Accept: 'application/json',\r\n API_KEY: process.env.REACT_APP_API_KEY,\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n );\r\n};\r\nexport const postMessageApi = (formData: INewsletterFormModel): Promise> => {\r\n return axios.post(\r\n `${process.env.REACT_APP_API_URL}/mail/send`,\r\n formData,\r\n {\r\n headers: {\r\n Accept: 'application/json',\r\n API_KEY: process.env.REACT_APP_API_KEY,\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n );\r\n};\r\n","import {Action} from 'redux';\r\nimport {ThunkAction} from 'redux-thunk';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {clearErrorAction, finishLoadingAction, startLoadingAction} from 'redux/status/actions';\r\nimport {sendFeedback} from 'redux/pageAsyncActions';\r\nimport {errorHandler} from 'redux/errorHandler';\r\nimport {toBase64} from 'utils/helpers/base64convert';\r\n\r\nimport {INewsletterFormModel, IPostFormModel} from 'components/feedback-forms/interfaces';\r\n\r\nimport {IFeedbackAttachInfo} from './interfaces';\r\nimport {attachmentUploadedAction, clearAttachAction} from './actions';\r\nimport {postFeedbackApi, postMessageApi, uploadFeedbackAttachApi} from 'redux/api/feedback';\r\nimport {ToastKey} from 'components/gritx-toast/ToastKeyEnum';\r\n\r\nexport const uploadAttachAction = (file: { key: number, file: File }): ThunkAction => (async (dispatch) => {\r\n const actionKey = file.key.toString();\r\n\r\n dispatch(startLoadingAction(actionKey));\r\n try {\r\n const contentData = await toBase64(file.file);\r\n\r\n const {data: contentInfo} = await uploadFeedbackAttachApi(contentData, file.file.name);\r\n\r\n dispatch(clearErrorAction(actionKey));\r\n dispatch(finishLoadingAction(actionKey));\r\n dispatch(attachmentUploadedAction({\r\n key: file.key,\r\n attachKey: contentInfo as IFeedbackAttachInfo\r\n }));\r\n } catch (e) {\r\n console.log('uploadAttachAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.UploadAttachAction,\r\n actionKey,\r\n error: e,\r\n currentAction: uploadAttachAction(file)\r\n }));\r\n }\r\n});\r\nexport const sendFeedbackAction = (formData: IPostFormModel, cb: () => void): ThunkAction => (async (dispatch) => {\r\n const actionKey = sendFeedback;\r\n\r\n try {\r\n dispatch(startLoadingAction(actionKey));\r\n dispatch(clearErrorAction(actionKey));\r\n await postFeedbackApi(formData);\r\n dispatch(clearAttachAction());\r\n dispatch(finishLoadingAction(actionKey));\r\n cb();\r\n } catch (e) {\r\n console.log('sendFeedbackAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.SendFeedbackAction,\r\n actionKey,\r\n error: e,\r\n currentAction: sendFeedbackAction(formData, cb)\r\n }));\r\n }\r\n});\r\nexport const joinNewsletterAction = (formData: INewsletterFormModel, cb: () => void): ThunkAction => (async (dispatch) => {\r\n const actionKey = sendFeedback;\r\n\r\n try {\r\n dispatch(startLoadingAction(actionKey));\r\n dispatch(clearErrorAction(actionKey));\r\n await postMessageApi(formData);\r\n dispatch(clearAttachAction());\r\n dispatch(finishLoadingAction(actionKey));\r\n cb();\r\n } catch (e) {\r\n console.log('joinNewsletterAction', e);\r\n dispatch(errorHandler({\r\n toastKey: ToastKey.SendFeedbackAction,\r\n actionKey,\r\n error: e,\r\n currentAction: joinNewsletterAction(formData, cb)\r\n }));\r\n }\r\n});\r\n","import React, {ChangeEvent, KeyboardEvent, useState} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport cn from 'classnames';\r\n\r\nimport {isValidEmail, isRequiredValidator} from 'utils/helpers/validators';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IInput {\r\n type?: 'text' | 'email'\r\n className?: string\r\n label?: string\r\n value?: string\r\n maxLength?: number\r\n placeholder?: string\r\n required?: boolean\r\n onChange?: (value: string) => void\r\n onBlur?: (value: string) => void\r\n onKeyUp?: (e: KeyboardEvent) => void\r\n}\r\n\r\nconst inputErrorTypes = {\r\n required: 'required',\r\n email: 'email'\r\n};\r\n\r\nconst errorMessage: { [type: string]: { id: string; defaultMessage: string } } = {\r\n [inputErrorTypes.required]: {\r\n id: 'gritx.common.errors.required',\r\n defaultMessage: 'This field cannot be blank'\r\n },\r\n [inputErrorTypes.email]: {\r\n id: 'gritx.common.errors.email',\r\n defaultMessage: 'The e-mail address is invalid'\r\n }\r\n};\r\n\r\nfunction validateValue(type: string, value: string, required?: boolean): string[] {\r\n let errors = [] as string[];\r\n\r\n if (type === 'email') {\r\n if (!isValidEmail(value)) {\r\n errors = [inputErrorTypes.email];\r\n }\r\n }\r\n if (required && !isRequiredValidator(value)) {\r\n errors = [inputErrorTypes.required];\r\n }\r\n\r\n if (!required && value.length === 0) {\r\n errors = [];\r\n }\r\n\r\n return errors;\r\n}\r\n\r\nexport const Input: React.FunctionComponent = ({\r\n type = 'text',\r\n label,\r\n required = false,\r\n onChange,\r\n onBlur,\r\n onKeyUp,\r\n className = '',\r\n placeholder,\r\n value,\r\n ...props\r\n}: IInput) => {\r\n const [errors, setErrors] = useState([]);\r\n\r\n function handleChange(e: ChangeEvent) {\r\n setErrors([]);\r\n if (onChange) {\r\n onChange(e.target.value);\r\n }\r\n }\r\n\r\n function handleBlur(e: ChangeEvent) {\r\n setErrors(validateValue(type, e.target.value, required));\r\n if (onBlur) {\r\n onBlur(e.target.value);\r\n }\r\n }\r\n\r\n function handleKeyUp(e: KeyboardEvent) {\r\n if (onKeyUp) {\r\n onKeyUp(e);\r\n }\r\n }\r\n\r\n return
\r\n \r\n {\r\n errors.map((e, i) => \r\n {errorMessage[e] && }\r\n )\r\n }\r\n
;\r\n};\r\n","import {Input} from './Input';\r\nexport default Input;\r\n","import React, {ChangeEvent, useState} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport cn from 'classnames';\r\n\r\nimport {isRequiredValidator, maxLengthValidator, minLengthValidator} from 'utils/helpers/validators';\r\n\r\nimport './styles.scss';\r\n\r\ninterface ITextBox {\r\n label?: string\r\n required?: boolean\r\n onChange: (value: string) => void\r\n onBlur?: () => void\r\n minLength?: number\r\n maxLength?: number\r\n}\r\n\r\nconst textBoxErrorTypes = {\r\n required: 'required',\r\n minLength: 'minLength',\r\n maxLength: 'maxLength'\r\n};\r\n\r\nconst errorMessage: { [type: string]: { id: string; defaultMessage: string } } = {\r\n [textBoxErrorTypes.required]: {\r\n id: 'gritx.common.errors.required',\r\n defaultMessage: 'This field cannot be blank'\r\n },\r\n [textBoxErrorTypes.minLength]: {\r\n id: 'gritx.common.errors.minLength',\r\n defaultMessage: 'The field should contain at least {minLength} and at most {maxLength} characters'\r\n },\r\n [textBoxErrorTypes.maxLength]: {\r\n id: 'gritx.common.errors.maxLength',\r\n defaultMessage: 'You have reached the max character limit for this field'\r\n }\r\n};\r\n\r\nfunction validateValue({\r\n value,\r\n required,\r\n minLength,\r\n maxLength\r\n}: {\r\n value: string,\r\n minLength: number,\r\n maxLength: number,\r\n required: boolean\r\n}): string[] {\r\n let errors = [] as string[];\r\n\r\n if (minLengthValidator(value, minLength)) {\r\n errors = [textBoxErrorTypes.minLength];\r\n }\r\n if (maxLengthValidator(value, maxLength)) {\r\n errors = [textBoxErrorTypes.maxLength];\r\n }\r\n if (required && !isRequiredValidator(value)) {\r\n errors = [textBoxErrorTypes.required];\r\n }\r\n\r\n return errors;\r\n}\r\n\r\nexport const TextBox: React.FunctionComponent = ({\r\n label,\r\n required = false,\r\n onChange,\r\n onBlur,\r\n minLength = 3,\r\n maxLength = 1000,\r\n ...props\r\n}: ITextBox) => {\r\n const [errors, setErrors] = useState([]);\r\n\r\n function handleChange(e: ChangeEvent) {\r\n setErrors([]);\r\n if (onChange) {\r\n onChange(e.target.value);\r\n }\r\n }\r\n\r\n function handleBlur(e: ChangeEvent) {\r\n setErrors(validateValue({\r\n value: e.target.value,\r\n required,\r\n maxLength,\r\n minLength\r\n }));\r\n if (onBlur) {\r\n onBlur();\r\n }\r\n }\r\n\r\n return
\r\n \r\n {\r\n errors.map((e, i) => \r\n {errorMessage[e] && }\r\n )\r\n }\r\n
;\r\n};\r\n","import {TextBox} from './TextBox';\r\nexport default TextBox;\r\n","import {FileUploader} from './FileUploader';\r\nexport default FileUploader;\r\n","import React, {useEffect} from 'react';\r\nimport {useDropzone} from 'react-dropzone';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport cn from 'classnames';\r\n\r\nimport {fileSize} from 'utils/constants/constants';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IFileUploader {\r\n label?: string\r\n onChange: (files: File[]) => void\r\n}\r\n\r\nexport const FileUploader: React.FunctionComponent = ({\r\n label,\r\n onChange\r\n}: IFileUploader) => {\r\n const {\r\n acceptedFiles,\r\n fileRejections,\r\n getRootProps,\r\n getInputProps,\r\n isDragActive,\r\n isDragAccept,\r\n isDragReject\r\n } = useDropzone({\r\n maxSize: fileSize,\r\n accept: 'image/jpeg, image/png, application/pdf'\r\n });\r\n\r\n useEffect(() => {\r\n onChange(acceptedFiles);\r\n }, [acceptedFiles.length]);\r\n\r\n return
\r\n

\r\n {label}\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n Boolean(fileRejections.length)\r\n && \r\n \r\n \r\n }\r\n
;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/square-close.911bd4d7.svg\";","import {FilePreview} from './FilePreview';\r\nexport default FilePreview;\r\n","import React from 'react';\r\nimport RemoveIcon from 'assets/icons/square-close.svg';\r\nimport './styles.scss';\r\nimport {useIntl} from 'react-intl';\r\n\r\ninterface IFilePreview {\r\n file: File\r\n onDelete?: () => void\r\n}\r\n\r\nexport const FilePreview: React.FunctionComponent = ({\r\n onDelete,\r\n file\r\n}: IFilePreview) => {\r\n const intl = useIntl();\r\n\r\n return
\r\n {\r\n onDelete && \r\n \r\n \r\n }\r\n
\r\n {\r\n file.type.includes('image')\r\n && \r\n }\r\n
\r\n
\r\n

\r\n {file.name}\r\n

\r\n

\r\n {(file.size / 1000000).toFixed(2)} MB\r\n

\r\n
\r\n
;\r\n};\r\n","import React, {useState} from 'react';\r\nimport {useIntl} from 'react-intl';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport Input from 'components/input';\r\nimport TextBox from 'components/text-box';\r\nimport FileUploader from 'components/file-uploader';\r\nimport FilePreview from 'components/file-preview';\r\nimport Loader from 'components/loader';\r\nimport {removeAttachAction} from 'redux/feedback/actions';\r\nimport {uploadAttachAction} from 'redux/feedback/feedbackAsyncActions';\r\n\r\nimport {IStore} from 'redux/interface';\r\n\r\nimport {IIssueFormModel} from './interfaces';\r\n\r\nimport './style.scss';\r\n\r\ninterface IIssueForm {\r\n title: string\r\n subtitle?: string\r\n textBoxLabel?: string\r\n showTextBox?: boolean\r\n showAttachments?: boolean\r\n onChange?: (newState: IIssueFormModel) => void\r\n}\r\n\r\nexport default function IssueForm({\r\n title,\r\n subtitle,\r\n textBoxLabel,\r\n onChange,\r\n showTextBox = false,\r\n showAttachments = false\r\n}: IIssueForm): JSX.Element {\r\n const intl = useIntl();\r\n const {status: {loading} } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n\r\n const [data, setData] = useState({\r\n email: '',\r\n issue: '',\r\n files: []\r\n });\r\n\r\n function handleChange(type: string): (e: string | File[]) => void {\r\n return (e) => {\r\n const newState = {\r\n ...data,\r\n [type]: e\r\n };\r\n\r\n if (onChange) {\r\n onChange(newState);\r\n }\r\n setData(newState);\r\n };\r\n }\r\n\r\n function handleChangeFile(files: File[]): void {\r\n const filesWithKeys = files.map((file) => {\r\n return {\r\n key: Number(String(Math.random())\r\n .split('.')[1] || 0),\r\n file\r\n };\r\n });\r\n\r\n filesWithKeys.forEach(file => dispatch(uploadAttachAction(file)));\r\n const newState = {\r\n ...data,\r\n files: [...data.files, ...filesWithKeys]\r\n };\r\n\r\n if (onChange) {\r\n onChange(newState);\r\n }\r\n setData(newState);\r\n }\r\n\r\n function handleDeleteFile(key: number): () => void {\r\n return () => {\r\n dispatch(removeAttachAction(key));\r\n\r\n const newState = {\r\n ...data,\r\n files: [\r\n ...data.files.filter(item => item.key !== key)\r\n ]\r\n };\r\n\r\n if (onChange) {\r\n onChange(newState);\r\n }\r\n setData(newState);\r\n };\r\n }\r\n\r\n return
\r\n
\r\n

{title}

\r\n {subtitle &&

{subtitle}

}\r\n
\r\n
\r\n \r\n {\r\n showTextBox && }\r\n {showAttachments && }\r\n
\r\n {\r\n data.files.map((item) => {\r\n return
\r\n {\r\n loading.includes(item.key.toString()) && \r\n }\r\n \r\n
;\r\n })\r\n }\r\n
\r\n
\r\n
;\r\n}\r\n","export default __webpack_public_path__ + \"static/media/skill-how-to-lemonade.eafd8edb.svg\";","import React, {useEffect, useState} from 'react';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport {feedbackTypes} from 'utils/constants/constants';\r\nimport {isValidEmail} from 'utils/helpers/validators';\r\nimport {SendStatus} from './SendStatusEnum';\r\n\r\nimport {clearAttachAction} from 'redux/feedback/actions';\r\nimport {joinNewsletterAction, sendFeedbackAction} from 'redux/feedback/feedbackAsyncActions';\r\nimport {IStore} from 'redux/interface';\r\nimport {sendFeedback} from 'redux/pageAsyncActions';\r\n\r\nimport ModalWindow from 'components/modal-window';\r\nimport Loader from 'components/loader';\r\nimport GritxButton from 'components/gritx-button';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\n\r\nimport IssueForm from './IssueForm';\r\nimport {IIssueFormModel} from './interfaces';\r\n\r\nimport FinishImg from 'assets/image/feedback/skill-how-to-lemonade.svg';\r\n\r\nimport './style.scss';\r\n\r\ninterface IReportAnIssue {\r\n type: string\r\n onClose: () => void\r\n}\r\n\r\ninterface IFormTitles {\r\n [key: string]: {\r\n [key: string]: {\r\n id: string\r\n defaultMessage: string\r\n }\r\n }\r\n}\r\n\r\nconst formTitles: IFormTitles = {\r\n issue: {\r\n title: {\r\n id: 'gritx.feedback.issueForm.issue.label',\r\n defaultMessage: 'Report an Issue'\r\n },\r\n textBox: {\r\n id: 'gritx.feedback.issueForm.textBox.label',\r\n defaultMessage: 'Issue'\r\n }\r\n },\r\n newContent: {\r\n title: {\r\n id: 'gritx.feedback.issueForm.newContent.label',\r\n defaultMessage: 'Content Request'\r\n },\r\n textBox: {\r\n id: 'gritx.feedback.issueForm.newContent.textBox.label',\r\n defaultMessage: 'Description'\r\n }\r\n },\r\n joinUCSF: {\r\n title: {\r\n id: 'gritx.feedback.issueForm.joinUCSF.label',\r\n defaultMessage: 'Partnership Request'\r\n },\r\n textBox: {\r\n id: 'gritx.feedback.issueForm.joinUCSF.textBox.label',\r\n defaultMessage: 'Description'\r\n }\r\n },\r\n shareHistory: {\r\n title: {\r\n id: 'gritx.feedback.issueForm.shareHistory.label',\r\n defaultMessage: 'Share GritX Story'\r\n },\r\n textBox: {\r\n id: 'gritx.feedback.issueForm.shareHistory.textBox.label',\r\n defaultMessage: 'Description'\r\n }\r\n },\r\n chat: {\r\n title: {\r\n id: 'gritx.feedback.issueForm.chat.label',\r\n defaultMessage: 'Message Our Team'\r\n },\r\n textBox: {\r\n id: 'gritx.feedback.issueForm.chat.textBox.label',\r\n defaultMessage: 'Description'\r\n }\r\n }\r\n};\r\n\r\nexport default function FeedbackForms({\r\n type,\r\n onClose\r\n}: IReportAnIssue): JSX.Element {\r\n const [isShow, setIsShow] = useState(false);\r\n const [sendStatus, setSendStatus] = useState(SendStatus.Draft);\r\n const [formData, setFormData] = useState({\r\n email: '',\r\n issue: '',\r\n files: []\r\n });\r\n const {\r\n feedback,\r\n status: {loading}\r\n } = useSelector((state: IStore) => state);\r\n\r\n const dispatch = useDispatch();\r\n const intl = useIntl();\r\n\r\n useEffect(() => {\r\n setIsShow(Object.keys(feedbackTypes)\r\n .includes(type));\r\n }, [type]);\r\n\r\n function handleClose() {\r\n dispatch(clearAttachAction());\r\n setFormData({\r\n email: '',\r\n issue: '',\r\n files: []\r\n });\r\n setSendStatus(SendStatus.Draft);\r\n onClose();\r\n }\r\n\r\n function handleChangeFormData(data: IIssueFormModel) {\r\n setFormData(data);\r\n }\r\n\r\n function handleSend() {\r\n const filesIds = formData.files.map(item => item.key);\r\n let fileKeys = '';\r\n\r\n if (Object.keys(feedback).length) {\r\n fileKeys = filesIds.map((item) => {\r\n return feedback[item.toString()].fileId;\r\n })\r\n .join(',');\r\n }\r\n setSendStatus(SendStatus.Sending);\r\n if (type !== feedbackTypes.newsletter) {\r\n dispatch(sendFeedbackAction({\r\n from: formData.email,\r\n subject: type,\r\n text: formData.issue,\r\n attachments: fileKeys\r\n }, () => {\r\n setSendStatus(SendStatus.Finish);\r\n }));\r\n } else {\r\n dispatch(joinNewsletterAction({\r\n to: formData.email,\r\n subject: type,\r\n text: formData.issue,\r\n attachments: fileKeys\r\n }, () => {\r\n setSendStatus(SendStatus.FinishNewsletter);\r\n }));\r\n }\r\n }\r\n\r\n function getDisabledStatus(): boolean {\r\n const filesIds = formData.files.map(item => item.key);\r\n const loadingStatus = filesIds.reduce((acc, item) => {\r\n return loading.includes(item.toString());\r\n }, false);\r\n\r\n if (\r\n type !== feedbackTypes.newsletter\r\n && (formData.email.length === 0\r\n || !isValidEmail(formData.email)\r\n || formData.issue.trim().length < 3\r\n || loadingStatus)\r\n ) {\r\n return true;\r\n }\r\n\r\n return type === feedbackTypes.newsletter\r\n && (formData.email.length === 0\r\n || !isValidEmail(formData.email));\r\n }\r\n\r\n const formsButtons = () => {\r\n return sendStatus === SendStatus.Draft\r\n ?
\r\n \r\n \r\n
\r\n : null;\r\n };\r\n\r\n const finishMessage = () => {\r\n if (sendStatus === SendStatus.Finish || sendStatus === SendStatus.FinishNewsletter) {\r\n return
\r\n

\r\n {sendStatus === SendStatus.Finish ? : \r\n }\r\n\r\n

\r\n
\r\n \r\n
\r\n
;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const content = () => {\r\n if (sendStatus === SendStatus.Draft) {\r\n return
\r\n {\r\n type && type !== feedbackTypes.newsletter\r\n && \r\n }\r\n {\r\n type === feedbackTypes.newsletter\r\n && \r\n }\r\n
;\r\n }\r\n if (sendStatus === SendStatus.Sending && loading.includes(sendFeedback)) {\r\n return ;\r\n }\r\n\r\n return finishMessage();\r\n };\r\n\r\n return \r\n {content()}\r\n ;\r\n}\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBook(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"tab\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 94.56,\n height: 87.97,\n viewBox: \"0 0 94.56 87.97\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"lib\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.63,1.76c1.31-.05,2.61.1,3.91.16s2.79.17,4.18.16c.24,0,.48,0,.65.2s.17.06.28,0c.41-.11.81-.22,1.23-.31a.81.81,0,0,1,1.1.78,4.45,4.45,0,0,1-.16,1.66c-.37,1.59-.6,3.2-.86,4.81a1.75,1.75,0,0,0,0,.23,14.49,14.49,0,0,0,2-.94,1.1,1.1,0,0,1,1.07,0,.53.53,0,0,1,.36.61c-.06.22,0,.43-.05.64.72.19,1.45.14,2.15.26,1,.17,2.1,0,3.15.19.59.09,1.18.13,1.77.18a3.23,3.23,0,0,0,2-.28.77.77,0,0,1,.19-.08A1,1,0,0,1,57,11.18c0,.36-.06.71-.09,1.1a23.37,23.37,0,0,0,3.35-1.56,1.93,1.93,0,0,1,2.3.21c.06.06.11.15.21.13.56-.14,1.07.18,1.62.18a12.61,12.61,0,0,1,1.62.12c.56.06,1.11.15,1.66.25s1.07.21,1.6.31l2.56.41a.91.91,0,0,0,.59-.11,7,7,0,0,1,1.48-.52,1.15,1.15,0,0,1,1.54,1,3,3,0,0,1,0,1.11c-.1.66-.19,1.31-.3,2,0,.13,0,.22.06.32a.85.85,0,0,1,.22,1,15.68,15.68,0,0,0,2-.13c.5,0,1-.13,1.51-.16a1,1,0,0,0,.5-.22,2,2,0,0,1,.86-.42c.09,0,.19-.07.25,0,.46.29,1.08.35,1.34.94a23.41,23.41,0,0,1,1.22,3.34c.66,2.44,1.47,4.84,2.23,7.24.66,2.07,1.38,4.12,1.94,6.22.4,1.47,1,2.88,1.51,4.32C89.45,40,90,42,90.7,43.88c.81,2.25,1.52,4.53,2.25,6.8.88,2.73,2,5.39,2.79,8.13A52.48,52.48,0,0,1,97.1,64a2.42,2.42,0,0,1-.16,1.45,13.87,13.87,0,0,1-.8,1.53c-1.68,3-3.43,6-5.36,8.9-1.52,2.27-3.09,4.51-4.64,6.77-.35.51-.68,1-1,1.58A7.86,7.86,0,0,1,84,85.67c-.07.08-.17.12-.19.23-.07.47-.43.66-.79.87a8.19,8.19,0,0,1-2.63.89,14.61,14.61,0,0,1-3.55.2,6.78,6.78,0,0,1-3.13-1,3,3,0,0,1-1.24-1.58c-.85-2.18-1.85-4.29-2.84-6.41-.77-1.65-1.33-3.38-1.95-5.08-.3-.81-.61-1.62-.93-2.45a4.14,4.14,0,0,0-.67.56c-2.25,2-4.3,4.3-6.41,6.49-1.18,1.23-2.41,2.41-3.59,3.63s-2.56,2.44-3.9,3.59a10,10,0,0,1-1.9,1.26c-.11.06-.23.1-.32.16a7.06,7.06,0,0,1-5,1.14A38.29,38.29,0,0,1,39.35,87a7.35,7.35,0,0,1-2-.7,3,3,0,0,1-1.48-2.41,7.23,7.23,0,0,1-.1-1.28,5.33,5.33,0,0,0-1.35,1.09A14,14,0,0,1,33,85.12a1.64,1.64,0,0,0-.58.76.75.75,0,0,1-.69.45,14.93,14.93,0,0,1-1.76.26,19.58,19.58,0,0,1-4.12-.09c-.66-.11-1.34-.21-2-.37a5.08,5.08,0,0,1-2.71-1.61,4.06,4.06,0,0,1-.86-2.36,1.5,1.5,0,0,0,0-.2l-.05,0c-.14,0-.22.12-.32.19a13.35,13.35,0,0,1-1.87,1.14,5.61,5.61,0,0,0-.54.29,6,6,0,0,1-2.91,1c-.83.07-1.65.17-2.48.25a2.68,2.68,0,0,1-.4,0A33,33,0,0,1,8,84.69a12.4,12.4,0,0,1-2.35-.39,2.9,2.9,0,0,1-2.07-1.93A10.25,10.25,0,0,1,3,79.18c-.06-3.33-.15-6.66-.14-10,0-5.36.13-10.71.15-16.07,0-2.31.13-4.62.17-6.93,0-2-.1-4-.17-6-.06-1.76-.1-3.53-.15-5.3-.06-2.1-.13-4.21-.18-6.32-.07-3.13-.08-6.25,0-9.38,0-.73,0-1.47,0-2.2a15.49,15.49,0,0,1,.23-2.63.82.82,0,0,0,0-.44c-.18-.5-.07-.67.37-1A82.3,82.3,0,0,1,12,8.6a47.92,47.92,0,0,1,4.67-2.14,68.34,68.34,0,0,0,6.71-2.87c2-.95,4-1.83,6-2.68A6.51,6.51,0,0,1,31,.31,1.22,1.22,0,0,1,32.6,1.65,1,1,0,0,0,32.63,1.76Zm38.6,20.92c-.26,0-.37.23-.52.39l-3.6,3.17c-1.68,1.49-3.16,3.18-4.69,4.81-.43.46-.86.9-1.36,1.42.41-.07.76,0,.91-.44,0-.06.08-.1.13-.15.71-.71,1.34-1.49,2-2.22,1.63-1.73,3.36-3.36,5.1-5a16.61,16.61,0,0,0,1.64-1.61,1,1,0,0,0,.36-.39V22.6l0,0Zm-4.2,5c-1.26,1.1-2.34,2.36-3.49,3.56a4.26,4.26,0,0,0-.39.53c-.08,0-.16.06-.13.19.09-.06.2-.07.23-.18a3.26,3.26,0,0,0,.82-.75,26.93,26.93,0,0,1,2.2-2.33l.88-.92,2.63-2.57s0-.06,0-.09a2.16,2.16,0,0,0,.48-.33c.44-.43.9-.83,1.33-1.27,2-2.08,4.23-4,6.47-5.91a.09.09,0,0,0,0-.12c-.29-.09-.48.08-.65.27a19.25,19.25,0,0,1-2.23,2.1c-.25.21-.48.43-.71.65L70,24.81c-.1.09-.13.23-.24.31a.27.27,0,0,0-.22.1C68.68,26,67.85,26.82,67,27.66Zm5.78-6.49c1.21-1.2,2.55-2.26,3.82-3.5h-.69a.42.42,0,0,0-.37.21,8.37,8.37,0,0,1-1,1.2,23,23,0,0,0-1.82,2L71.64,22.2s0,0,0,0,.06,0,0,.06C72.06,21.91,72.47,21.58,72.81,21.17ZM44.89,9.71c-.15.06-.31.11-.46.18-1.27.57-2.56,1.08-3.86,1.57-2.24.85-4.47,1.71-6.62,2.77-3,1.46-5.93,2.87-8.89,4.32-.77.38-1.51.84-2.26,1.28a3.5,3.5,0,0,0-.84.69,4.87,4.87,0,0,0,1.2.21c-.15-.43.12-.62.4-.78s.45-.25.68-.36c.62-.31,1.26-.59,1.87-.92,2.45-1.32,5-2.55,7.46-3.76,1.27-.62,2.61-1.06,3.89-1.65,2.49-1.16,5-2.29,7.43-3.55l.83-.37c.06,0,.14-.05.09-.14s-.12-.06-.18,0ZM20,12.59l.46-.21c1.83-.91,3.65-1.85,5.5-2.73,2.13-1,4.24-2,6.29-3.2A27.72,27.72,0,0,1,35.36,5l4.55-1.88a.6.6,0,0,0,.34-.22l-1.68-.09c-.1,0-.25-.07-.31.08-.12.31-.41.39-.66.52-.56.28-1.14.53-1.7.8-1.75.83-3.47,1.71-5.23,2.48A79.92,79.92,0,0,0,19.9,12.48l-1.17.64A3.4,3.4,0,0,0,20,12.59Zm54.37,5.58c-1.6,1.32-3.2,2.62-4.75,4-1.83,1.63-3.61,3.3-5.34,5-1.29,1.31-2.61,2.57-4,3.77-.59.52-1.15,1.08-1.78,1.67l.65,0c.43,0,.89.14,1.13-.4A24.21,24.21,0,0,0,62.53,30a53.09,53.09,0,0,1,5.56-5.46,64.54,64.54,0,0,0,6.43-6.38.64.64,0,0,0,.33-.41A1,1,0,0,0,74.37,18.17ZM18,81.66c.75-.42,1.35-1,2.07-1.48a.71.71,0,0,0,.35-.66q.12-8-.1-16c-.06-2.24-.1-4.48-.17-6.73-.06-2.05,0-4.11-.1-6.17-.08-3.07-.09-6.15-.11-9.23,0-4.5,0-9,.09-13.51a24.38,24.38,0,0,1,.11-2.7,38.93,38.93,0,0,1,.59-4.43,2.11,2.11,0,0,1,.75-1.23,18.09,18.09,0,0,1,3.27-2c1.49-.75,3-1.45,4.54-2.17,2.43-1.16,4.81-2.43,7.35-3.37,1.62-.59,3.22-1.26,4.83-1.9.17-.07.35-.11.39-.39a38.73,38.73,0,0,1,1.09-5.64A2.7,2.7,0,0,0,43,2.79a4.78,4.78,0,0,0-1.63.56C40.16,4,38.87,4.49,37.58,5a55.19,55.19,0,0,0-6,2.83c-1.68.92-3.33,1.91-5.06,2.73-2.44,1.16-4.84,2.39-7.26,3.59a4.89,4.89,0,0,1-1.77.6,32.06,32.06,0,0,1-3.25.23c-1.1,0-2.21,0-3.31,0-.49,0-1,0-1.48,0A18.38,18.38,0,0,1,6,15a2.37,2.37,0,0,1-.7-.15.66.66,0,0,1-.14-1.2A1.94,1.94,0,0,1,6,13.29a7.4,7.4,0,0,0,1.6-.49l2.52-1.09c.72-.31,1.45-.59,2.15-.93C14.83,9.53,17.39,8.3,19.9,7s4.78-2.43,7.26-3.46q2-.84,3.9-1.86c.11-.06.27-.07.31-.24a1.83,1.83,0,0,0-1.08.24c-.25.12-.48.26-.73.37-2.35,1-4.67,2.09-7,3.16s-4.56,2-6.82,3.07c-2.5,1.15-5,2.37-7.47,3.48a39.86,39.86,0,0,0-3.85,2c-.17.09-.32.16-.32.4C4.11,15.08,4,16,4,17c0,2.71,0,5.41.06,8.11,0,1.74.07,3.47.14,5.2,0,1.53.12,3.06.18,4.59s.07,2.92.12,4.38.13,3.09.18,4.63c.08,2.32,0,4.63-.06,6.94,0,1.73,0,3.47-.06,5.2-.09,2.58-.1,5.17-.13,7.75-.06,5.15-.09,10.3.09,15.45A9.15,9.15,0,0,0,5,81.87a1.43,1.43,0,0,0,1,1L6.6,83a17.24,17.24,0,0,0,2.78.29,18.6,18.6,0,0,0,2.24,0c1.15-.08,2.3-.23,3.44-.35a1.84,1.84,0,0,1,1,0c.17.08.29,0,.42-.09a10.39,10.39,0,0,0,1.26-.95A.63.63,0,0,0,18,81.66ZM80.51,17.12a.41.41,0,0,0-.17.05,4.63,4.63,0,0,0-.46.31c-1.38.95-2.57,2.12-3.85,3.19a18.51,18.51,0,0,0-1.4,1.26c-2,2-4.07,3.86-6.07,5.83-1,1-2,2.08-3.11,3.09-.48.46-.91,1-1.4,1.41a3.33,3.33,0,0,1-1.51.81c-.51.11-1,.19-1.54.32a9.11,9.11,0,0,1-3.49,0,3.29,3.29,0,0,1-.54-.14c-.66-.25-.79-.69-.37-1.27a5.52,5.52,0,0,1,.93-.94c.81-.68,1.63-1.34,2.41-2.05,1.88-1.73,3.8-3.4,5.81-5,1.56-1.23,3.14-2.43,4.71-3.66,1.4-1.1,2.73-2.3,4.15-3.37.1-.07.15-.13.09-.25s-.15-.18-.29-.12a2.35,2.35,0,0,0-.67.46c-1,.89-2,1.79-3.09,2.66-3,2.48-6.1,4.78-9.09,7.24-1.67,1.37-3.36,2.72-4.94,4.19a1,1,0,0,0-.34.65,8.41,8.41,0,0,0,.09,2.83,62.92,62.92,0,0,0,1.78,6.9c1,3,1.84,6.07,2.84,9.09.74,2.2,1.42,4.42,2.21,6.61q2.3,6.29,4.45,12.62c1,3,2,5.92,3.16,8.82.77,1.88,1.6,3.74,2.35,5.64.12.3.27.58.42.87a2,2,0,0,0,1,.89,6.66,6.66,0,0,0,2.7.65,15.28,15.28,0,0,0,2.34-.11,7.79,7.79,0,0,0,3.18-1c.1-.07.23-.1.27-.21a3.26,3.26,0,0,1,.52-.7c.75-.94,1.31-2,2-3,1.53-2.23,3.07-4.44,4.54-6.71q2.73-4.22,5.14-8.62c.22-.4.46-.79.65-1.21A1.8,1.8,0,0,0,96,64a44.87,44.87,0,0,0-1.32-4.7c-.73-2.23-1.49-4.44-2.31-6.64-.5-1.33-.88-2.71-1.35-4.05q-.87-2.48-1.71-5c-.84-2.5-1.64-5-2.57-7.5-.74-1.94-1.24-3.95-1.87-5.93-.86-2.68-1.8-5.33-2.56-8A26.07,26.07,0,0,0,80.51,17.12ZM62,11.58a.64.64,0,0,0-.75-.31,3.13,3.13,0,0,0-.84.36,19,19,0,0,1-1.92.94c-2.4,1-4.84,1.87-7.19,3-2.51,1.17-5.07,2.22-7.49,3.56-2.2,1.21-4.38,2.47-6.69,3.46a2.53,2.53,0,0,0-.23.12.38.38,0,0,0-.22.36,12.44,12.44,0,0,1-.11,1.37c-.22,2.56-.3,5.12-.32,7.69,0,5.34.06,10.68.21,16,0,.58,0,1.16,0,1.74.09,1.87.19,3.73.13,5.6-.1,3-.13,6-.1,9.08,0,2.77,0,5.54.15,8.31.09,1.56.13,3.13.17,4.69,0,2.14,0,4.28.24,6.42a1.45,1.45,0,0,0,.52,1,3.21,3.21,0,0,0,1.3.66l3,.79a14.34,14.34,0,0,0,4.77.63,3.72,3.72,0,0,0,2.52-1,.67.67,0,0,1,.25-.16A4.13,4.13,0,0,0,51,85a35.29,35.29,0,0,0,2.92-2.55q3.76-3.72,7.48-7.51a40.48,40.48,0,0,1,4-3.81c.25-.19.46-.44.7-.66a.5.5,0,0,0,.11-.6c-.8-2.24-1.57-4.49-2.38-6.72C62.35,59.05,60.9,55,59.63,50.81c-.92-3-1.77-6-2.71-9a45.65,45.65,0,0,1-1.57-6.53,8.1,8.1,0,0,1,0-3.43.48.48,0,0,0,0-.35c-.17-.33,0-.55.23-.76.8-.71,1.57-1.46,2.39-2.14,2.79-2.28,5.57-4.57,8.43-6.76,2.24-1.72,4.4-3.54,6.54-5.37a1.77,1.77,0,0,1,1-.58c.18,0,.27-.17.29-.37.06-.71.14-1.41.21-2.12,0-.17,0-.34,0-.51s-.12-.3-.33-.27a3.25,3.25,0,0,0-.92.27Q70.8,14,68.3,15c-2.29.88-4.5,2-6.73,3-3,1.42-6,2.82-8.91,4.47-.83.47-1.68.89-2.53,1.32a3.34,3.34,0,0,1-1.86.4C47.18,24.07,46.1,24,45,24c-1.58,0-3.16,0-4.73-.21a2.7,2.7,0,0,1-1.12-.29c-.67-.4-.69-.9-.08-1.36a5.37,5.37,0,0,1,1-.53l7.05-3.19c1.2-.55,2.44-1,3.6-1.66a71.89,71.89,0,0,1,8.86-4.11A20.14,20.14,0,0,0,62,11.58Zm-5.84-.66a1.09,1.09,0,0,0-.69.22l-.94.52c-1.92,1.05-4,1.88-5.92,2.85-1.71.85-3.51,1.55-5.23,2.39-2.78,1.37-5.58,2.73-8.43,4-.7.3-1.37.68-2.05,1-.12.06-.23.1-.25.28-.06.63-.14.7-.78.7a16.83,16.83,0,0,1-2.75-.11c-1-.15-2-.21-3-.37-1.47-.24-2.95-.43-4.4-.81-.18,0-.25,0-.26.19-.06.93-.16,1.86-.2,2.79-.11,2.53,0,5.07-.09,7.6-.07,3,0,5.92,0,8.88,0,4,.06,7.92.18,11.87,0,1.06,0,2.11,0,3.17.08,3.38.19,6.76.24,10.14.07,3.89.07,7.79,0,11.68,0,1-.05,2-.13,3a7.61,7.61,0,0,0,.08,1.72,2.38,2.38,0,0,0,1.08,1.66,4.31,4.31,0,0,0,1.71.75,14.91,14.91,0,0,0,3.58.42c.31,0,.62,0,.92,0a12.78,12.78,0,0,0,2.69-.26A.54.54,0,0,0,32,85a20.45,20.45,0,0,1,1.49-1.6,8.62,8.62,0,0,1,2-1.84.67.67,0,0,0,.32-.63c0-1.73-.12-3.46-.14-5.2,0-.25,0-.51,0-.76-.08-1.78-.22-3.56-.24-5.35,0-3.36,0-6.73,0-10.1,0-2.55.18-5.09,0-7.64-.11-2-.16-3.94-.19-5.91-.05-2.38-.09-4.76-.07-7.14,0-3.57-.05-7.14.11-10.71a35.18,35.18,0,0,1,.51-4.7.78.78,0,0,0,0-.5.63.63,0,0,1,.17-.7A3.22,3.22,0,0,1,37,21.52c1.22-.55,2.42-1.15,3.6-1.79,1.78-1,3.54-2,5.4-2.85,2.37-1.08,4.8-2,7.16-3.06a24.32,24.32,0,0,1,2.61-1c.14-.05.3-.08.29-.29A8.62,8.62,0,0,1,56.13,10.92ZM7,14.1h.61c.48,0,1,.12,1.36-.31.05-.06.15-.07.23-.11.59-.26,1.19-.5,1.76-.79s1.37-.67,2.08-1c2.16-.84,4.31-1.73,6.41-2.71,2.4-1.11,4.76-2.31,7.13-3.47.62-.3,1.25-.6,1.9-.85a23.5,23.5,0,0,0,4.1-2.14.64.64,0,0,0,.31-.28c-.31,0-.42-.23-.42-.54-1,.61-2.05,1.15-3.1,1.64-1.7.79-3.47,1.45-5.15,2.3Q19.92,8,15.7,10.2C12.87,11.66,9.94,12.9,7,14.1Zm32.72,8.72a3.18,3.18,0,0,0,2.42-.18c1.16-.63,2.37-1.17,3.56-1.73,1.37-.64,2.76-1.22,4.1-1.91,1.94-1,3.82-2.07,5.75-3,2.32-1.17,4.68-2.22,7-3.39a5.14,5.14,0,0,0,1-.61,1.37,1.37,0,0,0-.93.1,17.2,17.2,0,0,1-2.85,1.33,69.18,69.18,0,0,0-7.39,3.36c-1.14.6-2.26,1.26-3.42,1.8-2.93,1.34-5.87,2.63-8.81,3.95C40,22.57,39.78,22.61,39.67,22.82ZM46.3,10.55a.75.75,0,0,1-.52-.18c-.15-.16-.28-.12-.44,0-.44.23-.87.45-1.32.66-2.3,1.11-4.58,2.28-7,3.25s-4.66,2.09-7,3.21c-1.91.94-3.77,2-5.71,2.89-.27.12-.51.3-.77.44a7.9,7.9,0,0,0,1.46.3.24.24,0,0,0,.14,0,18.79,18.79,0,0,1,2.71-1.49c1.16-.59,2.36-1.11,3.51-1.73,2.64-1.44,5.28-2.9,8.06-4.08,2.12-.89,4.19-1.92,6.28-2.89A1.21,1.21,0,0,0,46.3,10.55Zm2.23.21-1.12-.07a.26.26,0,0,0-.26.12,1.46,1.46,0,0,1-.67.44c-2.94,1.3-5.82,2.75-8.78,4a40.55,40.55,0,0,0-4.24,2.2c-2.24,1.31-4.65,2.29-6.92,3.54-.12.06-.26.08-.35.3.61,0,1.13.24,1.76-.13,1.46-.85,3-1.57,4.5-2.35,2.75-1.44,5.48-2.91,8.31-4.19,2.42-1.09,4.82-2.24,7.17-3.49A1.88,1.88,0,0,0,48.53,10.76ZM30.44,21.82h1a.37.37,0,0,0,.23-.07,13.89,13.89,0,0,1,1.56-.85c1.28-.66,2.54-1.36,3.84-2,1.67-.78,3.36-1.52,5-2.39.72-.38,1.44-.76,2.19-1.07,2.83-1.16,5.52-2.6,8.31-3.82a3.38,3.38,0,0,0,.86-.48c-.48-.05-.91-.06-1.32-.13a1,1,0,0,0-1,.3,2.18,2.18,0,0,1-.46.31c-1.66,1-3.42,1.72-5.15,2.54-1.57.73-3.2,1.33-4.71,2.18-2.51,1.41-5.1,2.68-7.67,4A16.86,16.86,0,0,0,30.44,21.82ZM68,12.51a10.93,10.93,0,0,0-1.69-.33.24.24,0,0,0-.27.09,4.27,4.27,0,0,1-1.55,1.21c-1.62.9-3.25,1.75-4.94,2.5-4.8,2.15-9.42,4.65-14.12,7-.07,0-.15.06-.15.2h.86a.89.89,0,0,0,.39-.09c.6-.31,1.21-.6,1.83-.89,3.94-1.84,7.77-3.91,11.68-5.82l6.59-3.17A8.46,8.46,0,0,0,68,12.51ZM47.67,23.24a3.18,3.18,0,0,0,2.07-.32l4-2.17c2.44-1.33,5-2.5,7.48-3.68,2-.94,4-1.89,6-2.74,1-.42,2.08-.81,3.12-1.22.08,0,.22,0,.17-.19-.52-.09-1-.18-1.55-.25-.13,0-.27-.1-.39,0a5.9,5.9,0,0,1-1.84,1.05c-3.07,1.43-6.12,2.92-9.15,4.44-2.3,1.16-4.59,2.35-6.9,3.48A32.1,32.1,0,0,0,47.67,23.24ZM35.23,2.59c-.32,0-.54,0-.76-.06a.93.93,0,0,0-1.07.36,1.51,1.51,0,0,1-.52.4,20.11,20.11,0,0,1-2.46,1.42c-2.09.94-4.18,1.88-6.22,2.91C21.52,9,18.82,10.27,16,11.4c-1.87.77-3.76,1.48-5.55,2.42-.09,0-.23,0-.27.2h2.14a1.06,1.06,0,0,0,.39-.13c1-.44,2-.93,3-1.44,2.64-1.36,5.36-2.54,7.92-4.06A70.26,70.26,0,0,1,30,5.21l4.18-2A4.78,4.78,0,0,0,35.23,2.59ZM13.85,14v.08c.44,0,.88,0,1.32,0A1.91,1.91,0,0,0,16,13.9c1.5-.81,3-1.62,4.47-2.53a63.62,63.62,0,0,1,8-4.35C31.36,5.74,34.17,4.3,37,3a.75.75,0,0,0,.43-.28l-1.21-.06a.41.41,0,0,0-.37.11,5,5,0,0,1-1.41.9L29.93,5.82c-1.83.86-3.68,1.67-5.42,2.7Q22.29,9.83,20,11C17.93,12,15.89,13,13.85,14Zm36.67-3.09a2.42,2.42,0,0,0-1.62.21,35.83,35.83,0,0,1-3.68,1.94c-3.57,1.74-7.21,3.32-10.69,5.22-1.88,1-3.79,2-5.68,2.95-.15.08-.34.12-.45.32a1.43,1.43,0,0,0,1.2-.08c.71-.41,1.43-.78,2.15-1.15,2.39-1.21,4.81-2.35,7.13-3.68a37.48,37.48,0,0,1,3.84-2q3.22-1.39,6.36-2.95A10.83,10.83,0,0,0,50.52,10.92ZM42.78,23.05a5.21,5.21,0,0,0,1.15.06.3.3,0,0,0,.23-.1,2.68,2.68,0,0,1,.78-.46c1.11-.55,2.23-1.07,3.33-1.64,3.36-1.73,6.73-3.43,10.16-5,2-1,4.08-2,6.05-3.11a5.53,5.53,0,0,0,.94-.67c-.56,0-1-.25-1.41.28a1.33,1.33,0,0,1-.4.29,34.13,34.13,0,0,1-3.77,2c-1.83.89-3.71,1.68-5.49,2.66-2.75,1.52-5.54,2.94-8.42,4.19C44.9,22,43.89,22.52,42.78,23.05ZM57.3,32.47c.09,0,.13,0,.15,0l.33-.23c.88-.62,1.59-1.43,2.41-2.12q1.92-1.63,3.68-3.45a3.71,3.71,0,0,0,.27-.29C63.29,27,57.5,32.18,57.3,32.47Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#171514\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.51,17.12a26.07,26.07,0,0,1,1.78,5.09c.76,2.72,1.7,5.37,2.56,8.05.63,2,1.13,4,1.87,5.93.93,2.47,1.73,5,2.57,7.5q.84,2.49,1.71,5c.47,1.34.85,2.72,1.35,4.05.82,2.2,1.58,4.41,2.31,6.64A44.87,44.87,0,0,1,96,64a1.8,1.8,0,0,1-.11,1.14c-.19.42-.43.81-.65,1.21Q92.82,70.8,90.08,75c-1.47,2.27-3,4.48-4.54,6.71-.69,1-1.25,2.07-2,3a3.26,3.26,0,0,0-.52.7c0,.11-.17.14-.27.21a7.79,7.79,0,0,1-3.18,1,15.28,15.28,0,0,1-2.34.11,6.66,6.66,0,0,1-2.7-.65,2,2,0,0,1-1-.89c-.15-.29-.3-.57-.42-.87-.75-1.9-1.58-3.76-2.35-5.64-1.17-2.9-2.15-5.86-3.16-8.82q-2.15-6.33-4.45-12.62c-.79-2.19-1.47-4.41-2.21-6.61-1-3-1.84-6.08-2.84-9.09a62.92,62.92,0,0,1-1.78-6.9,8.41,8.41,0,0,1-.09-2.83,1,1,0,0,1,.34-.65c1.58-1.47,3.27-2.82,4.94-4.19,3-2.46,6.11-4.76,9.09-7.24,1-.87,2.06-1.77,3.09-2.66a2.35,2.35,0,0,1,.67-.46c.14-.06.22,0,.29.12s0,.18-.09.25c-1.42,1.07-2.75,2.27-4.15,3.37C68.89,21.6,67.31,22.8,65.75,24c-2,1.57-3.93,3.24-5.81,5-.78.71-1.6,1.37-2.41,2.05a5.52,5.52,0,0,0-.93.94c-.42.58-.29,1,.37,1.27a3.29,3.29,0,0,0,.54.14,9.11,9.11,0,0,0,3.49,0c.51-.13,1-.21,1.54-.32a3.33,3.33,0,0,0,1.51-.81c.49-.45.92-.95,1.4-1.41,1.06-1,2.08-2.06,3.11-3.09,2-2,4.11-3.83,6.07-5.83A18.51,18.51,0,0,1,76,20.67c1.28-1.07,2.47-2.24,3.85-3.19a4.63,4.63,0,0,1,.46-.31A.41.41,0,0,1,80.51,17.12ZM63.75,35.41a3.11,3.11,0,0,0,.16.85c.71,2.2,1.37,4.41,2.12,6.59.81,2.34,1.57,4.7,2.33,7.06.62,1.93,1.29,3.86,1.91,5.8a152.53,152.53,0,0,0,6.79,17.93,71.29,71.29,0,0,1,3,7.36c.2.59.42,1.18.65,1.76a1.24,1.24,0,0,0,.59.74.49.49,0,0,0,.77-.35,1.12,1.12,0,0,0-.08-.7c-.15-.41-.32-.82-.46-1.24a79.4,79.4,0,0,0-3-7.57c-.88-2-1.82-3.94-2.61-6-1.83-4.7-3.46-9.46-5-14.26-1.23-3.79-2.43-7.59-3.76-11.35-.67-1.89-1.24-3.81-2-5.67-.16-.41-.33-.82-.52-1.22a.46.46,0,0,0-.55-.26A.44.44,0,0,0,63.75,35.41Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fed468\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M62,11.58a20.14,20.14,0,0,1-2.34,1.06,71.89,71.89,0,0,0-8.86,4.11c-1.16.64-2.4,1.11-3.6,1.66L40.12,21.6a5.37,5.37,0,0,0-1,.53c-.61.46-.59,1,.08,1.36a2.7,2.7,0,0,0,1.12.29C41.85,24,43.43,24,45,24c1.09,0,2.17.08,3.26.18a3.34,3.34,0,0,0,1.86-.4c.85-.43,1.7-.85,2.53-1.32,2.89-1.65,5.91-3.05,8.91-4.47,2.23-1.05,4.44-2.14,6.73-3q2.49-1,4.94-2a3.25,3.25,0,0,1,.92-.27c.21,0,.33,0,.33.27s0,.34,0,.51c-.07.71-.15,1.41-.21,2.12,0,.2-.11.35-.29.37a1.77,1.77,0,0,0-1,.58c-2.14,1.83-4.3,3.65-6.54,5.37-2.86,2.19-5.64,4.48-8.43,6.76-.82.68-1.59,1.43-2.39,2.14-.23.21-.4.43-.23.76a.48.48,0,0,1,0,.35,8.1,8.1,0,0,0,0,3.43,45.65,45.65,0,0,0,1.57,6.53c.94,3,1.79,6,2.71,9,1.27,4.15,2.72,8.24,4.21,12.32.81,2.23,1.58,4.48,2.38,6.72a.5.5,0,0,1-.11.6c-.24.22-.45.47-.7.66a40.48,40.48,0,0,0-4,3.81q-3.7,3.8-7.48,7.51A35.29,35.29,0,0,1,51,85a4.13,4.13,0,0,1-1.54.87.67.67,0,0,0-.25.16,3.72,3.72,0,0,1-2.52,1,14.34,14.34,0,0,1-4.77-.63l-3-.79a3.21,3.21,0,0,1-1.3-.66,1.45,1.45,0,0,1-.52-1c-.19-2.14-.19-4.28-.24-6.42,0-1.56-.08-3.13-.17-4.69-.15-2.77-.12-5.54-.15-8.31,0-3,0-6.05.1-9.08.06-1.87,0-3.73-.13-5.6,0-.58,0-1.16,0-1.74-.15-5.33-.24-10.67-.21-16,0-2.57.1-5.13.32-7.69A12.44,12.44,0,0,0,36.64,23a.38.38,0,0,1,.22-.36,2.53,2.53,0,0,1,.23-.12c2.31-1,4.49-2.25,6.69-3.46,2.42-1.34,5-2.39,7.49-3.56,2.35-1.1,4.79-2,7.19-3a19,19,0,0,0,1.92-.94,3.13,3.13,0,0,1,.84-.36A.64.64,0,0,1,62,11.58ZM50.4,31.92A45.38,45.38,0,0,0,50.19,27,3.72,3.72,0,0,0,50,26c-.07-.17-.14-.36-.38-.33s-.26.19-.3.36a5.2,5.2,0,0,0-.09,1c0,2.91,0,5.81-.19,8.72-.18,2.52-.18,5.06-.31,7.58-.1,1.94-.12,3.88-.21,5.81-.1,2.29-.17,4.59-.19,6.88,0,5.1-.09,10.2,0,15.3,0,.84,0,1.67.11,2.5.11,1.35.18,2.71.25,4.07l.21,4.38a1.47,1.47,0,0,0,.26.81c.29.42.67.39.89-.07a1.62,1.62,0,0,0,.14-.75c0-1.76-.11-3.53-.19-5.29-.06-1.29-.15-2.58-.23-3.87-.11-1.78-.11-3.57-.11-5.35,0-4.83,0-9.66.06-14.48,0-2.65.19-5.3.25-8,0-1.58.12-3.16.17-4.74,0-1.39.08-2.79.13-4.18C50.28,34.73,50.35,33.15,50.4,31.92Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.7,81.9a10.39,10.39,0,0,1-1.26.95c-.13.08-.25.17-.42.09a1.84,1.84,0,0,0-1,0c-1.14.12-2.29.27-3.44.35a18.6,18.6,0,0,1-2.24,0A17.24,17.24,0,0,1,6.6,83l-.55-.13a1.43,1.43,0,0,1-1-1,9.15,9.15,0,0,1-.51-2.64c-.18-5.15-.15-10.3-.09-15.45,0-2.58,0-5.17.13-7.75.06-1.73,0-3.47.06-5.2.06-2.31.14-4.62.06-6.94,0-1.54-.13-3.09-.18-4.63s-.07-2.92-.12-4.38-.13-3.06-.18-4.59c-.07-1.73-.1-3.46-.14-5.2,0-2.7,0-5.4-.06-8.11,0-.95.11-1.9.1-2.85,0-.24.15-.31.32-.4a39.86,39.86,0,0,1,3.85-2c2.51-1.11,5-2.33,7.47-3.48,2.26-1,4.56-2,6.82-3.07s4.65-2.15,7-3.16c.25-.11.48-.25.73-.37a1.83,1.83,0,0,1,1.08-.24c0,.17-.2.18-.31.24q-1.9,1-3.9,1.86c-2.48,1-4.88,2.22-7.26,3.46s-5.07,2.53-7.61,3.78c-.7.34-1.43.62-2.15.93L7.62,12.8a7.4,7.4,0,0,1-1.6.49,1.94,1.94,0,0,0-.84.34.66.66,0,0,0,.14,1.2A2.37,2.37,0,0,0,6,15a18.38,18.38,0,0,0,3.4,0c.49,0,1,0,1.48,0,1.1,0,2.21,0,3.31,0a32.06,32.06,0,0,0,3.25-.23,4.89,4.89,0,0,0,1.77-.6c2.42-1.2,4.82-2.43,7.26-3.59,1.73-.82,3.38-1.81,5.06-2.73a55.19,55.19,0,0,1,6-2.83c1.29-.52,2.58-1,3.83-1.66A4.78,4.78,0,0,1,43,2.79a2.7,2.7,0,0,1-.12,1.27A38.73,38.73,0,0,0,41.83,9.7c0,.28-.22.32-.39.39-1.61.64-3.21,1.31-4.83,1.9-2.54.94-4.92,2.21-7.35,3.37-1.52.72-3.05,1.42-4.54,2.17a18.09,18.09,0,0,0-3.27,2,2.11,2.11,0,0,0-.75,1.23,38.93,38.93,0,0,0-.59,4.43,24.38,24.38,0,0,0-.11,2.7c-.1,4.5-.12,9-.09,13.51,0,3.08,0,6.16.11,9.23.06,2.06,0,4.12.1,6.17.07,2.25.11,4.49.17,6.73q.21,8,.1,16a.71.71,0,0,1-.35.66c-.72.45-1.32,1.06-2.07,1.48l-.08-.08a1.73,1.73,0,0,0,.19-.84c0-2.49.15-5,0-7.49-.06-1.12,0-2.24.06-3.36.07-1.72,0-3.44.07-5.15.09-4.13.06-8.26.12-12.39s0-8.26,0-12.4c0-2.78,0-5.57-.11-8.36-.06-1.88-.19-3.77-.16-5.65,0-2,.09-4.05.06-6.07A26,26,0,0,0,18,17.08a1.5,1.5,0,0,0-.19-.63.44.44,0,0,0-.48-.22.42.42,0,0,0-.36.38,3.54,3.54,0,0,0,0,.46c0,1.19,0,2.38,0,3.57-.11,2.77-.19,5.54-.16,8.31,0,.17,0,.34,0,.51,0,1.1.15,2.2.15,3.31,0,7.12.07,14.24-.06,21.36-.05,2.89,0,5.78-.09,8.67-.09,2.53,0,5.07-.12,7.6-.1,1.59,0,3.19,0,4.79,0,1.89,0,3.77,0,5.66,0,.75.29,1,1,1Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#8fcba0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.13,10.92A8.62,8.62,0,0,0,56,12.51c0,.21-.15.24-.29.29a24.32,24.32,0,0,0-2.61,1c-2.36,1.08-4.79,2-7.16,3.06-1.86.84-3.62,1.87-5.4,2.85-1.18.64-2.38,1.24-3.6,1.79a3.22,3.22,0,0,0-1.15.73.63.63,0,0,0-.17.7.78.78,0,0,1,0,.5,35.18,35.18,0,0,0-.51,4.7c-.16,3.57-.07,7.14-.11,10.71,0,2.38,0,4.76.07,7.14,0,2,.08,3.94.19,5.91.14,2.55,0,5.09,0,7.64,0,3.37,0,6.74,0,10.1,0,1.79.16,3.57.24,5.35,0,.25,0,.51,0,.76,0,1.74.14,3.47.14,5.2a.67.67,0,0,1-.32.63,8.62,8.62,0,0,0-2,1.84A20.45,20.45,0,0,0,32,85a.54.54,0,0,1-.41.17,12.78,12.78,0,0,1-2.69.26c-.3,0-.61,0-.92,0A14.91,14.91,0,0,1,24.35,85a4.31,4.31,0,0,1-1.71-.75,2.38,2.38,0,0,1-1.08-1.66,7.61,7.61,0,0,1-.08-1.72c.08-1,.11-2,.13-3,.07-3.89.07-7.79,0-11.68-.05-3.38-.16-6.76-.24-10.14,0-1.06,0-2.11,0-3.17C21.21,49,21.19,45,21.15,41c0-3-.06-5.92,0-8.88.06-2.53,0-5.07.09-7.6,0-.93.14-1.86.2-2.79,0-.17.08-.24.26-.19,1.45.38,2.93.57,4.4.81,1,.16,2,.22,3,.37a16.83,16.83,0,0,0,2.75.11c.64,0,.72-.07.78-.7,0-.18.13-.22.25-.28.68-.35,1.35-.73,2.05-1,2.85-1.23,5.65-2.59,8.43-4,1.72-.84,3.52-1.54,5.23-2.39,2-1,4-1.8,5.92-2.85l.94-.52A1.09,1.09,0,0,1,56.13,10.92Zm-24.57,47c0,1-.1,1.91-.12,2.86-.09,4.06,0,8.12.15,12.18.08,2.36.17,4.72.15,7.08,0,.48.06,1,.09,1.43a1.41,1.41,0,0,0,.35.83c.29.31.57.27.77-.11a1.7,1.7,0,0,0,.13-.89C33,79,33,76.72,33,74.42c-.05-2-.14-4-.18-6-.06-3.29,0-6.59,0-9.89.06-4.14.08-8.29-.06-12.44-.06-1.75-.15-3.49-.18-5.24,0-2.06,0-4.12,0-6.17,0-1.31,0-2.62.05-3.93.06-1.48.09-2.95,0-4.43A5.64,5.64,0,0,0,32.45,25c0-.15-.1-.31-.29-.3s-.23.17-.26.32a6.88,6.88,0,0,0-.15,1.27c-.11,2.37-.25,4.75-.3,7.12q-.12,5,0,10c.08,2.48.14,5,.08,7.45S31.56,55.59,31.56,57.93Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#f0757c\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7,14.1c3-1.2,5.92-2.44,8.75-3.9s5.64-2.88,8.47-4.31c1.68-.85,3.45-1.51,5.15-2.3,1.05-.49,2.07-1,3.1-1.64,0,.31.11.51.42.54a.64.64,0,0,1-.31.28,23.5,23.5,0,0,1-4.1,2.14c-.65.25-1.28.55-1.9.85C24.16,6.92,21.8,8.12,19.4,9.23c-2.1,1-4.25,1.87-6.41,2.71-.71.28-1.4.62-2.08,1s-1.17.53-1.76.79c-.08,0-.18.05-.23.11-.38.43-.88.3-1.36.31Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.67,22.82c.11-.21.3-.25.46-.32,2.94-1.32,5.88-2.61,8.81-3.95,1.16-.54,2.28-1.2,3.42-1.8a69.18,69.18,0,0,1,7.39-3.36,17.2,17.2,0,0,0,2.85-1.33,1.37,1.37,0,0,1,.93-.1,5.14,5.14,0,0,1-1,.61c-2.32,1.17-4.68,2.22-7,3.39-1.93,1-3.81,2.06-5.75,3-1.34.69-2.73,1.27-4.1,1.91-1.19.56-2.4,1.1-3.56,1.73A3.18,3.18,0,0,1,39.67,22.82Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.3,10.55a1.21,1.21,0,0,1-.51.29c-2.09,1-4.16,2-6.28,2.89-2.78,1.18-5.42,2.64-8.06,4.08-1.15.62-2.35,1.14-3.51,1.73A18.79,18.79,0,0,0,25.23,21a.24.24,0,0,1-.14,0,7.9,7.9,0,0,1-1.46-.3c.26-.14.5-.32.77-.44,1.94-.88,3.8-1.95,5.71-2.89,2.3-1.12,4.59-2.24,7-3.21S41.72,12.1,44,11c.45-.21.88-.43,1.32-.66.16-.08.29-.12.44,0A.75.75,0,0,0,46.3,10.55Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.53,10.76a1.88,1.88,0,0,1-.6.39c-2.35,1.25-4.75,2.4-7.17,3.49-2.83,1.28-5.56,2.75-8.31,4.19-1.5.78-3,1.5-4.5,2.35-.63.37-1.15.11-1.76.13.09-.22.23-.24.35-.3,2.27-1.25,4.68-2.23,6.92-3.54a40.55,40.55,0,0,1,4.24-2.2c3-1.27,5.84-2.72,8.78-4a1.46,1.46,0,0,0,.67-.44.26.26,0,0,1,.26-.12Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.44,21.82a16.86,16.86,0,0,1,2.64-1.48c2.57-1.3,5.16-2.57,7.67-4,1.51-.85,3.14-1.45,4.71-2.18,1.73-.82,3.49-1.58,5.15-2.54a2.18,2.18,0,0,0,.46-.31,1,1,0,0,1,1-.3c.41.07.84.08,1.32.13a3.38,3.38,0,0,1-.86.48c-2.79,1.22-5.48,2.66-8.31,3.82-.75.31-1.47.69-2.19,1.07-1.63.87-3.32,1.61-5,2.39-1.3.61-2.56,1.31-3.84,2a13.89,13.89,0,0,0-1.56.85.37.37,0,0,1-.23.07Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68,12.51a8.46,8.46,0,0,1-1.37.7L60,16.38c-3.91,1.91-7.74,4-11.68,5.82-.62.29-1.23.58-1.83.89a.89.89,0,0,1-.39.09h-.86c0-.14.08-.16.15-.2,4.7-2.35,9.32-4.85,14.12-7,1.69-.75,3.32-1.6,4.94-2.5A4.27,4.27,0,0,0,66,12.27a.24.24,0,0,1,.27-.09A10.93,10.93,0,0,1,68,12.51Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.67,23.24a32.1,32.1,0,0,1,3-1.57c2.31-1.13,4.6-2.32,6.9-3.48,3-1.52,6.08-3,9.15-4.44a5.9,5.9,0,0,0,1.84-1.05c.12-.13.26,0,.39,0,.52.07,1,.16,1.55.25.05.17-.09.16-.17.19-1,.41-2.09.8-3.12,1.22-2,.85-4,1.8-6,2.74-2.51,1.18-5,2.35-7.48,3.68l-4,2.17A3.18,3.18,0,0,1,47.67,23.24Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.23,2.59a4.78,4.78,0,0,1-1.1.66L30,5.21a70.26,70.26,0,0,0-6.31,3.18c-2.56,1.52-5.28,2.7-7.92,4.06-1,.51-2,1-3,1.44a1.06,1.06,0,0,1-.39.13H10.22c0-.17.18-.16.27-.2,1.79-.94,3.68-1.65,5.55-2.42C18.82,10.27,21.52,9,24.2,7.62c2-1,4.13-2,6.22-2.91a20.11,20.11,0,0,0,2.46-1.42,1.51,1.51,0,0,0,.52-.4.93.93,0,0,1,1.07-.36C34.69,2.56,34.91,2.56,35.23,2.59Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.52,18.17a64.54,64.54,0,0,1-6.43,6.38A53.09,53.09,0,0,0,62.53,30a24.21,24.21,0,0,1-2.26,2.27c-.24.54-.7.42-1.13.4l-.65,0c.63-.59,1.19-1.15,1.78-1.67,1.4-1.2,2.72-2.46,4-3.77,1.73-1.74,3.51-3.41,5.34-5,1.55-1.38,3.15-2.68,4.75-4Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.85,14c2-1,4.08-2,6.13-3.06q2.31-1.12,4.53-2.43c1.74-1,3.59-1.84,5.42-2.7l4.55-2.14a5,5,0,0,0,1.41-.9.41.41,0,0,1,.37-.11l1.21.06A.75.75,0,0,1,37,3c-2.87,1.29-5.68,2.73-8.56,4a63.62,63.62,0,0,0-8,4.35c-1.45.91-3,1.72-4.47,2.53a1.91,1.91,0,0,1-.84.19c-.44,0-.88,0-1.32,0Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.52,10.92a10.83,10.83,0,0,1-1.44.82q-3.13,1.56-6.36,2.95a37.48,37.48,0,0,0-3.84,2c-2.32,1.33-4.74,2.47-7.13,3.68-.72.37-1.44.74-2.15,1.15a1.43,1.43,0,0,1-1.2.08c.11-.2.3-.24.45-.32,1.89-1,3.8-1.93,5.68-2.95,3.48-1.9,7.12-3.48,10.69-5.22a35.83,35.83,0,0,0,3.68-1.94A2.42,2.42,0,0,1,50.52,10.92Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.9,12.48A79.92,79.92,0,0,1,30.67,6.65C32.43,5.88,34.15,5,35.9,4.17c.56-.27,1.14-.52,1.7-.8.25-.13.54-.21.66-.52.06-.15.21-.09.31-.08l1.68.09a.6.6,0,0,1-.34.22L35.36,5a27.72,27.72,0,0,0-3.11,1.49C30.2,7.62,28.09,8.64,26,9.65c-1.85.88-3.67,1.82-5.5,2.73l-.46.21Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.89,9.71C42.45,11,40,12.1,37.46,13.26c-1.28.59-2.62,1-3.89,1.65-2.5,1.21-5,2.44-7.46,3.76-.61.33-1.25.61-1.87.92-.23.11-.45.23-.68.36s-.55.35-.4.78a4.87,4.87,0,0,1-1.2-.21,3.5,3.5,0,0,1,.84-.69c.75-.44,1.49-.9,2.26-1.28C28,17.1,31,15.69,34,14.23c2.15-1.06,4.38-1.92,6.62-2.77,1.3-.49,2.59-1,3.86-1.57.15-.07.31-.12.46-.18Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#f0757c\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.78,23.05c1.11-.53,2.12-1.05,3.15-1.5,2.88-1.25,5.67-2.67,8.42-4.19,1.78-1,3.66-1.77,5.49-2.66a34.13,34.13,0,0,0,3.77-2,1.33,1.33,0,0,0,.4-.29c.37-.53.85-.31,1.41-.28a5.53,5.53,0,0,1-.94.67c-2,1.12-4,2.15-6.05,3.11-3.43,1.59-6.8,3.29-10.16,5-1.1.57-2.22,1.09-3.33,1.64a2.68,2.68,0,0,0-.78.46.3.3,0,0,1-.23.1A5.21,5.21,0,0,1,42.78,23.05Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.87,23.07a16.61,16.61,0,0,1-1.64,1.61c-1.74,1.62-3.47,3.25-5.1,5-.69.73-1.32,1.51-2,2.22-.05.05-.11.09-.13.15-.15.4-.5.37-.91.44.5-.52.93-1,1.36-1.42,1.53-1.63,3-3.32,4.69-4.81l3.6-3.17Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.3,32.47c.2-.29,6-5.48,6.84-6.07a3.71,3.71,0,0,1-.27.29q-1.75,1.81-3.68,3.45c-.82.69-1.53,1.5-2.41,2.12l-.33.23S57.39,32.48,57.3,32.47Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.79,25.11c.11-.07.14-.21.24-.3l4.48-4.32c.23-.22.46-.44.71-.65a19.25,19.25,0,0,0,2.23-2.1c.17-.19.36-.36.65-.27a.09.09,0,0,1,0,.12c-2.24,1.88-4.42,3.83-6.47,5.91-.43.44-.89.84-1.33,1.27a2.16,2.16,0,0,1-.48.33Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.72,21.06a23,23,0,0,1,1.82-2,8.37,8.37,0,0,0,1-1.2.42.42,0,0,1,.37-.21h.69c-1.27,1.24-2.61,2.3-3.82,3.5Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.15,31.75a4.26,4.26,0,0,1,.39-.53c1.15-1.2,2.23-2.46,3.49-3.56l.12.1-.88.92A26.93,26.93,0,0,0,64.07,31a3.26,3.26,0,0,1-.82.75Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M67.15,27.76l-.12-.1c.82-.84,1.65-1.67,2.54-2.44a.31.31,0,0,1,.22-.11h0s0,.08,0,.09Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.72,21.06l.09.11c-.34.41-.75.74-1.14,1.13,0-.09,0,0,0-.06s0,0,0,0Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#8fcba0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.9,12.48l.1.11a3.4,3.4,0,0,1-1.27.53Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.89,9.71l.74-.53c.06,0,.13-.06.18,0s0,.12-.09.14l-.83.37Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#f0757c\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.52,18.17h-.15a1,1,0,0,1,.48-.41A.64.64,0,0,1,74.52,18.17Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.87,23.07h-.16c.15-.16.26-.37.52-.39h0A1,1,0,0,1,70.87,23.07Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.15,31.75h.1c0,.11-.14.12-.23.18C63,31.81,63.07,31.78,63.15,31.75Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18,81.66a.63.63,0,0,1-.27.24l-.07-.08.26-.24Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#8fcba0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.23,22.68l0-.06,0,0v.08Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#a3c5dc\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.75,35.41a.44.44,0,0,1,.34-.5.46.46,0,0,1,.55.26c.19.4.36.81.52,1.22.73,1.86,1.3,3.78,2,5.67,1.33,3.76,2.53,7.56,3.76,11.35,1.56,4.8,3.19,9.56,5,14.26.79,2,1.73,4,2.61,6a79.4,79.4,0,0,1,3,7.57c.14.42.31.83.46,1.24a1.12,1.12,0,0,1,.08.7.49.49,0,0,1-.77.35,1.24,1.24,0,0,1-.59-.74c-.23-.58-.45-1.17-.65-1.76a71.29,71.29,0,0,0-3-7.36,152.53,152.53,0,0,1-6.79-17.93c-.62-1.94-1.29-3.87-1.91-5.8-.76-2.36-1.52-4.72-2.33-7.06-.75-2.18-1.41-4.39-2.12-6.59A3.11,3.11,0,0,1,63.75,35.41Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#171514\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M50.4,31.92c0,1.23-.12,2.81-.18,4.39,0,1.39-.08,2.79-.13,4.18-.05,1.58-.14,3.16-.17,4.74-.06,2.65-.2,5.3-.25,8-.1,4.82-.07,9.65-.06,14.48,0,1.78,0,3.57.11,5.35.08,1.29.17,2.58.23,3.87.08,1.76.19,3.53.19,5.29a1.62,1.62,0,0,1-.14.75c-.22.46-.6.49-.89.07a1.47,1.47,0,0,1-.26-.81l-.21-4.38c-.07-1.36-.14-2.72-.25-4.07-.06-.83-.1-1.66-.11-2.5-.08-5.1,0-10.2,0-15.3,0-2.29.09-4.59.19-6.88.09-1.93.11-3.87.21-5.81.13-2.52.13-5.06.31-7.58.21-2.91.19-5.81.19-8.72a5.2,5.2,0,0,1,.09-1c0-.17.09-.34.3-.36s.31.16.38.33A3.72,3.72,0,0,1,50.19,27,45.38,45.38,0,0,1,50.4,31.92Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#171514\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.89,81.58l-.26.24c-.73.05-1-.22-1-1,0-1.89,0-3.77,0-5.66,0-1.6-.1-3.2,0-4.79.16-2.53,0-5.07.12-7.6.1-2.89,0-5.78.09-8.67.13-7.12.06-14.24.06-21.36,0-1.11-.1-2.21-.15-3.31,0-.17,0-.34,0-.51,0-2.77.05-5.54.16-8.31.05-1.19,0-2.38,0-3.57a3.54,3.54,0,0,1,0-.46.42.42,0,0,1,.36-.38.44.44,0,0,1,.48.22,1.5,1.5,0,0,1,.19.63,26,26,0,0,1,.19,2.79c0,2,0,4-.06,6.07,0,1.88.1,3.77.16,5.65.08,2.79.11,5.58.11,8.36,0,4.14,0,8.27,0,12.4s0,8.26-.12,12.39c0,1.71,0,3.43-.07,5.15,0,1.12-.12,2.24-.06,3.36.14,2.5-.06,5,0,7.49A1.73,1.73,0,0,1,17.89,81.58Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#171514\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.56,57.93c0-2.34,0-4.69,0-7s0-5-.08-7.45q-.16-5,0-10c.05-2.37.19-4.75.3-7.12A6.88,6.88,0,0,1,31.9,25c0-.15.06-.31.26-.32s.25.15.29.3a5.64,5.64,0,0,1,.18,1.36c0,1.48,0,2.95,0,4.43-.05,1.31-.05,2.62-.05,3.93,0,2.05,0,4.11,0,6.17,0,1.75.12,3.49.18,5.24.14,4.15.12,8.3.06,12.44,0,3.3-.1,6.6,0,9.89,0,2,.13,4,.18,6,0,2.3.08,4.59.12,6.89a1.7,1.7,0,0,1-.13.89c-.2.38-.48.42-.77.11a1.41,1.41,0,0,1-.35-.83c0-.48-.09-1-.09-1.43,0-2.36-.07-4.72-.15-7.08-.14-4.06-.24-8.12-.15-12.18C31.46,59.84,31.53,58.89,31.56,57.93Z\",\n transform: \"translate(-2.59 -0.29)\",\n fill: \"#171514\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBook);\nexport default __webpack_public_path__ + \"static/media/book.aa5daa4e.svg\";\nexport { ForwardRef as ReactComponent };","import {HelpInfoLine} from './HelpInfoLine';\r\nexport default HelpInfoLine;\r\n","import React, {FunctionComponent, useState} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport ReadingPicture from 'assets/image/help-info-line/contactRead.svg';\r\nimport TalkPicture from 'assets/image/help-info-line/contactTalk.svg';\r\nimport WritingPicture from 'assets/image/help-info-line/contactWrite.svg';\r\nimport {feedbackTypes} from 'utils/constants/constants';\r\nimport FeedbackForms from 'components/feedback-forms/FeedbackForms';\r\n\r\nimport './styles.scss';\r\n\r\nexport const HelpInfoLine: FunctionComponent = () => {\r\n const [feedback, setFeedback] = useState('');\r\n\r\n function handleChangeFeedback(type: string) {\r\n return () => setFeedback(type);\r\n }\r\n\r\n return
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

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

\r\n \"\"\r\n
\r\n \r\n
\r\n

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

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

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

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

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

\r\n \"\"\r\n
\r\n
\r\n
\r\n \r\n
\r\n

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

\r\n \"\"\r\n
\r\n \r\n
\r\n

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

\r\n
\r\n
\r\n
\r\n \r\n
;\r\n};\r\n","import {Footer} from './Footer';\r\nexport default Footer;\r\n","import React from 'react';\r\n\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\n\r\nimport AdditionalInformation from 'components/additional-information';\r\nimport ConnectLine from 'components/connect-line';\r\nimport ContactLine from 'components/contact-line';\r\nimport HelpInfoLine from 'components/helpInfo-line';\r\n\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n hideSeparator?: boolean;\r\n}\r\n\r\nexport const Footer = ({hideSeparator}: Props): JSX.Element => {\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Footer\r\n });\r\n\r\n return
\r\n \r\n \r\n \r\n \r\n
;\r\n};\r\n","import {Layout} from './Layout';\r\nexport default Layout;\r\n","import React, {ReactElement} from 'react';\r\nimport Header from 'components/header';\r\nimport Footer from 'components/footer';\r\n\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n hideSeparator?: boolean;\r\n children: ReactElement;\r\n}\r\n\r\nexport const Layout = ({hideSeparator, children}: Props): JSX.Element => {\r\n return
\r\n
\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n
;\r\n};\r\n","export enum LibraryFilter {\r\n Challenges = 'challenges',\r\n LifeSituations = 'lifeSituations',\r\n Types = 'types',\r\n ReadingTime = 'readingTime',\r\n SearchString = 'name',\r\n}\r\n","import {ToggleButton} from './ToggleButton';\r\nexport default ToggleButton;\r\n","import React, {useEffect, useState} from 'react';\r\nimport cn from 'classnames';\r\nimport './styles.scss';\r\n\r\ntype ToggleButtonProps = {\r\n icon: string;\r\n title: string;\r\n id: number;\r\n serialNumber: string | undefined;\r\n onToggle: (serialNumber: string | undefined, id: number, checked: boolean) => void;\r\n checked?: boolean;\r\n};\r\n\r\nexport const ToggleButton = ({\r\n icon,\r\n title,\r\n id,\r\n serialNumber,\r\n onToggle,\r\n checked = false\r\n}: ToggleButtonProps): JSX.Element => {\r\n const [isChecked, setIsChecked] = useState(checked);\r\n\r\n useEffect(() => {\r\n setIsChecked(checked);\r\n }, [checked]);\r\n\r\n const handleToggle = () => {\r\n onToggle(serialNumber, id, !isChecked);\r\n setIsChecked(!isChecked);\r\n };\r\n\r\n return
\r\n
\r\n\r\n
\r\n
{title}
\r\n
;\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgChevronDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"glyphicons-basic\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"chevron-down\",\n d: \"M26.91425,13.12115,16.70709,23.32849a.99988.99988,0,0,1-1.41418,0L5.08575,13.12115a.50007.50007,0,0,1,0-.70715l2.8285-2.82806a.5.5,0,0,1,.70709,0L16,16.96436l7.37866-7.37842a.5.5,0,0,1,.70709,0l2.8285,2.82806A.50007.50007,0,0,1,26.91425,13.12115Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronDown);\nexport default __webpack_public_path__ + \"static/media/chevron-down.3876af04.svg\";\nexport { ForwardRef as ReactComponent };","import {FilterBar} from './FilterBar';\r\nexport default FilterBar;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useIntl} from 'react-intl';\r\n\r\nimport {IFilter} from 'redux/content/interfaces';\r\n\r\nimport Input from 'components/input';\r\nimport ToggleButton from '../toggle-button';\r\nimport {FilterModel} from '../LibraryModels';\r\nimport {LibraryFilter} from '../LibraryEnums';\r\n\r\nimport './styles.scss';\r\n\r\ntype FilterBarProps = {\r\n typeFilters: FilterModel;\r\n timeFilters: FilterModel;\r\n selectedFilters: IFilter[];\r\n onToggle: (serialNumber: string | undefined, id: number, checked: boolean, filterType: LibraryFilter) => void;\r\n onChangeSearchString: (value: string) => void;\r\n};\r\n\r\nexport const FilterBar = ({\r\n typeFilters,\r\n timeFilters,\r\n onToggle,\r\n onChangeSearchString,\r\n selectedFilters\r\n}: FilterBarProps): JSX.Element => {\r\n const intl = useIntl();\r\n const [typeFiltersSelected, setTypeFiltersSelected] = useState([]);\r\n const [timeFiltersSelected, setTimeFiltersSelected] = useState([]);\r\n const [searchString, setSearchString] = useState('');\r\n\r\n useEffect(() => {\r\n setTypeFiltersSelected(selectedFilters.find(item => item.serialNumber === typeFilters.serialNumber)?.inputValue as number[] || []);\r\n setTimeFiltersSelected(selectedFilters.find(item => item.serialNumber === timeFilters.serialNumber)?.inputValue as number[] || []);\r\n setSearchString(selectedFilters.find(item => item.name === LibraryFilter.SearchString)?.inputValue as string);\r\n }, [selectedFilters, typeFilters, timeFilters]);\r\n\r\n function handleKeyUp(e: React.KeyboardEvent) {\r\n if (e.key === 'Enter') {\r\n onChangeSearchString(searchString);\r\n }\r\n }\r\n\r\n function handleToggle(type: LibraryFilter) {\r\n return (serialNumber: string | undefined, id: number, checked: boolean) => {\r\n onToggle(serialNumber, id, checked, type);\r\n };\r\n }\r\n\r\n function handleChangeSearchString(value: string) {\r\n setSearchString(value);\r\n }\r\n\r\n return
\r\n
\r\n {typeFilters.values ? typeFilters.values.map(\r\n t => \r\n ) : null}\r\n
\r\n
\r\n {timeFilters.values ? timeFilters.values.map(\r\n t => \r\n ) : null}\r\n
\r\n
\r\n {\r\n \r\n }\r\n
\r\n
;\r\n};\r\n","import {Situation} from './Situation';\r\nexport default Situation;\r\n","import React from 'react';\r\nimport cn from 'classnames';\r\nimport './styles.scss';\r\nimport {LibraryFilter} from '../LibraryEnums';\r\n\r\ninterface ISituationProps {\r\n title: string;\r\n id: number;\r\n serialNumber: string | undefined;\r\n checked?: boolean;\r\n onToggle: (serialNumber: string | undefined, id: number, checked: boolean, typeFilter: LibraryFilter) => void;\r\n}\r\n\r\nexport const Situation = ({\r\n title,\r\n id,\r\n serialNumber,\r\n checked = false,\r\n onToggle\r\n}: ISituationProps): JSX.Element => {\r\n const handleToggle = () => {\r\n onToggle(serialNumber, id, !checked, LibraryFilter.LifeSituations);\r\n };\r\n\r\n return
{title}
\r\n
;\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgChevronUp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"glyphicons-basic\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"chevron-up\",\n d: \"M26.91425,19.586l-2.8285,2.82806a.5.5,0,0,1-.70709,0L16,15.03564,8.62134,22.41406a.5.5,0,0,1-.70709,0L5.08575,19.586a.50007.50007,0,0,1,0-.70715L15.29291,8.67151a.99988.99988,0,0,1,1.41418,0L26.91425,18.87885A.50007.50007,0,0,1,26.91425,19.586Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChevronUp);\nexport default __webpack_public_path__ + \"static/media/chevron-up.0e8d1aa9.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgApple(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"269px\",\n height: \"276px\",\n viewBox: \"0 0 269 276\",\n enableBackground: \"new 0 0 269 276\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Vector_Smart_Object_1_\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_1_\",\n x: 1.22,\n y: 0.48,\n width: 266.56,\n height: 275\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_2_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_1_\",\n overflow: \"visible\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#SVGID_2_)\"\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_3_\",\n x: 1.22,\n y: 0.48,\n width: 266.56,\n height: 275\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_4_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_3_\",\n overflow: \"visible\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#020202\",\n d: \"M141.61,46.45c1.96-0.3,3.8-0.75,5.64-1.18c5.55-1.33,11.17-2.12,16.85-2.58 c3.29-0.26,6.57-0.36,9.86-0.18c0.2,0.01,0.41,0.03,0.58-0.1c1.99-1.46,4.39-1.9,6.61-2.8c4.18-1.7,8.5-2.99,12.97-3.6 c3.68-0.5,7.4-0.76,11.12-0.82c3.63-0.06,7.23,0.11,10.83,0.51c6.58,0.73,12.72,2.62,18.36,6.23 c5.85,3.75,11.58,7.66,16.53,12.55c5.82,5.75,10.17,12.46,12.71,20.32c1.6,4.95,2.97,9.92,3.67,15.08 c0.41,3.02,0.36,6.05,0.43,9.08c0.18,8.56-1.13,16.96-2.85,25.28c-1.78,8.6-4.38,16.97-7.61,25.15c-2.77,7-5.32,14.1-7.99,21.15 c-1.45,3.83-3.17,7.56-4.99,11.22c-2.64,5.33-4.84,10.85-7.29,16.26c-3.13,6.91-6.03,13.92-9.71,20.57 c-6.56,11.84-13.75,23.25-22.54,33.59c-4.45,5.25-9.34,9.95-15.42,13.31c-4.67,2.57-9.45,4.83-14.66,6.09 c-4.1,0.98-8.28,1.02-12.45,0.79c-4.38-0.23-8.7-0.86-12.98-1.81c-5.23-1.15-10.11-3.21-14.85-5.64 c-1.69-0.87-3.42-1.65-5.14-2.45c-5.24-2.45-10.45-2.32-15.71-0.05c-3.03,1.31-5.67,3.22-8.24,5.22 c-2.67,2.07-5.45,3.92-8.51,5.37c-4.72,2.23-9.63,2.86-14.78,2.28c-7.71-0.87-14.54-3.73-20.56-8.6 c-3.79-3.08-7.58-6.17-11.03-9.63c-4.51-4.51-7.88-9.87-11.03-15.37c-4.6-8.04-8.58-16.39-12.34-24.85 c-2.62-5.89-5.39-11.71-7.74-17.72c-2.9-7.38-6.19-14.62-8.52-22.22c-1.89-6.16-3.79-12.32-5.19-18.62 c-1.85-8.38-3.3-16.83-3.98-25.39c-0.61-7.72-0.5-15.46,0.01-23.2c0.25-3.78,0.39-7.58,0.68-11.36 c0.81-10.28,2.68-20.34,6.51-29.97c1.78-4.47,4.16-8.59,7.12-12.39c3.9-5,7.98-9.81,12.99-13.77c4.79-3.8,10.09-6.61,15.9-8.49 c5.79-1.88,11.73-3.12,17.76-3.86c6.43-0.79,12.87-0.58,19.31,0.1c7.73,0.81,15.14,2.83,22.33,5.71c2.01,0.8,3.84,1.94,5.64,3.1 c2.69,1.73,5.56,3.11,8.37,4.61c0.31,0.16,0.68,0.21,0.98,0.38c0.48,0.28,0.68,0.1,0.9-0.34c1.2-2.37,2.48-4.69,3.79-7 c2.46-4.33,5.65-8.14,8.77-11.99c3.71-4.58,7.42-9.17,11.77-13.18c2.9-2.67,5.94-5.2,8.87-7.84c3.58-3.23,7.52-3.51,11.81-2.07 c3.18,1.06,6.19,2.5,8.7,4.8c0.58,0.53,1.25,0.94,1.87,1.42c1.89,1.47,2.25,3.57,0.95,5.57c-0.56,0.86-1.26,1.58-2.02,2.26 c-4.98,4.49-10.17,8.73-15.32,13.03c-4.36,3.64-8.55,7.43-12.21,11.8c-1.56,1.86-3.29,3.58-4.92,5.37 C142,45.79,141.72,45.99,141.61,46.45 M140.94,24.02c-0.05,0.05-0.1,0.12-0.15,0.17c-3.22,3.91-6.49,7.77-9.45,11.87 c-0.1,0.13-0.13,0.27-0.15,0.41c-0.67,0.65-1.07,1.48-1.52,2.27l0.02-0.02c-0.19,0.1-0.23,0.29-0.27,0.48 c-0.05,0.06-0.11,0.11-0.14,0.17c-3.96,6.82-7.47,13.84-9.55,21.49c-0.37,1.36-0.88,2.7-0.97,4.13c-0.07,1.22-0.05,1.22,1.1,1.55 c0.56,0.16,1.13,0.28,1.68,0.47c0.44,0.15,0.68,0.05,0.88-0.39c0.74-1.66,1.52-3.31,2.28-4.96c0.08-0.19,0.15-0.37,0.13-0.58 c-0.11-1.13,0.38-2.01,1.14-2.77c0.56-0.56,1.03-1.17,1.44-1.84c1.82-3.01,3.58-6.05,5.56-8.96c3.96-5.83,9.03-10.7,13.75-15.87 c4.49-4.93,9.95-8.81,14.97-13.16c2.68-2.32,5.39-4.6,8.08-6.9c0.24-0.2,0.65-0.36,0.15-0.79c-2.53-2.19-5.45-3.55-8.73-4.12 c-1.07-0.19-2.1-0.07-2.99,0.71c-1.2,1.05-2.48,2-3.67,3.06c-2.22,1.99-4.54,3.88-6.64,6c-0.05,0.05-0.1,0.11-0.16,0.16 l0.02-0.02c-0.1,0.01-0.16,0.07-0.17,0.17l0.02-0.02c-0.11,0.01-0.16,0.06-0.17,0.17l0.02-0.02c-0.11,0.01-0.17,0.06-0.17,0.17 l0.01-0.02c-0.11,0.01-0.16,0.06-0.17,0.17l0.01-0.02c-1.68,1.53-3.22,3.18-4.61,4.98l0.02,0c-0.12,0-0.16,0.06-0.16,0.18 l0.02-0.02c-0.12,0-0.16,0.07-0.16,0.18l0.02-0.02c-0.12,0-0.17,0.07-0.16,0.18l0.02-0.02c-0.12,0-0.16,0.07-0.16,0.18l0.01-0.02 c-0.17,0.04-0.25,0.17-0.3,0.33l0.01-0.01c-0.18,0.1-0.31,0.23-0.35,0.45l0.03-0.03c-0.11,0.01-0.16,0.08-0.16,0.19l0.03-0.03 c-0.11,0.01-0.16,0.08-0.16,0.19l0.02-0.02c-0.11,0.01-0.15,0.08-0.16,0.18L140.94,24.02z M187.54,43.88 c0.22,0.07,0.41,0.14,0.6,0.17c4.27,0.69,8.48,1.68,12.62,2.95c4.33,1.32,8.69,2.58,12.75,4.62c7.46,3.75,14.39,8.36,21.13,13.25 c6.89,4.98,13.05,10.81,19.19,16.66c1.03,0.98,2.06,1.95,2.93,3.08c1.51,1.94,1.27,4.05-0.63,5.63c-0.72,0.6-1.53,1.08-2.37,1.49 c-1.71,0.82-3.43,1.61-5.14,2.43c-4.31,2.05-8.84,3.48-13.46,4.61c-4.5,1.1-9.07,1.8-13.62,2.67 c-6.13,1.18-12.26,2.38-18.51,2.84c-5.06,0.37-10.12,0.35-15.14-0.49c-10.47-1.76-20.59-4.81-30.28-9.12 c-10.45-4.65-19.64-11.06-26.92-20c-0.33-0.41-0.65-0.7-1.25-0.67c-3.14,0.2-6.2-0.41-9.24-1.03c-3.91-0.79-7.4-2.65-10.96-4.35 c-3.02-1.45-5.48-3.5-7.54-6.09c-0.46-0.58-0.86-1.19-1.05-1.92c-0.47-1.76,0.46-3.54,2.13-4.08c1.52-0.5,3.04,0.32,3.74,2 c0.1,0.23,0.21,0.46,0.36,0.66c1.43,1.88,3.29,3.2,5.45,4.11c0.37,0.16,0.47,0.08,0.54-0.29c0.12-0.65,0.27-1.29,0.45-1.92 c1.08-3.69,2.21-7.37,3.64-10.94c0.12-0.3,0.29-0.53-0.2-0.76c-2.95-1.38-5.92-2.78-8.64-4.58c-3.95-2.6-8.21-4.41-12.7-5.83 c-8.02-2.53-16.25-3.51-24.61-3.48c-7.33,0.03-14.48,1.32-21.53,3.26c-6.77,1.86-12.85,4.96-18.16,9.59 c-3.55,3.09-6.55,6.67-9.5,10.31c-3.44,4.25-6.05,8.95-7.92,14.09c-2.01,5.54-3.24,11.27-4.22,17.05 c-0.76,4.47-1.03,8.99-1.31,13.51c-0.45,7.65-0.94,15.29-0.71,22.97c0.12,4.28,0.44,8.54,1,12.78c0.64,4.76,1.41,9.5,2.36,14.21 c1.74,8.67,4.22,17.14,7.08,25.49c1.78,5.18,3.95,10.23,5.97,15.33c2.54,6.42,5.4,12.7,8.21,19.01 c4.17,9.33,8.5,18.58,13.71,27.39c3.02,5.11,6.34,10,10.8,14.01c2.88,2.59,5.82,5.1,8.84,7.53c4.64,3.73,9.85,6.15,15.76,6.98 c3.06,0.43,6.14,0.69,9.19-0.13c4-1.08,7.49-3.13,10.73-5.66c3.51-2.75,7.11-5.36,11.37-6.89c4.36-1.58,8.77-2.35,13.4-1.34 c3.42,0.75,6.58,2.15,9.68,3.69c4.26,2.13,8.5,4.26,13.14,5.47c4.99,1.29,10.07,2.01,15.21,2.19c3.65,0.13,7.3,0.03,10.83-1.06 c9.86-3.05,18.2-8.37,24.87-16.34c5.3-6.35,10.16-13,14.56-19.98c5.32-8.42,10.16-17.08,14.11-26.24 c2.88-6.66,5.78-13.31,8.83-19.9c2.48-5.35,4.99-10.68,7.14-16.17c1.52-3.89,2.83-7.85,4.35-11.74 c3.18-8.12,6.42-16.22,8.63-24.69c1.76-6.77,3-13.62,3.86-20.55c0.45-3.63,0.46-7.27,0.55-10.91c0.09-3.4-0.15-6.77-0.67-10.13 c-0.68-4.39-2.01-8.6-3.42-12.81c-2.41-7.22-6.69-13.2-12.23-18.28c-4.46-4.09-9.45-7.52-14.6-10.72 c-4.21-2.62-8.74-4.13-13.61-4.82c-5.47-0.78-10.94-0.86-16.43-0.46c-4.07,0.29-8.11,0.71-12.03,1.94 C188.28,43.58,187.88,43.58,187.54,43.88 M141.7,53.77c0.27,0,0.34,0.01,0.41,0c4.28-1.07,8.62-1.74,13-2.19 c3.45-0.35,6.9-0.6,10.37-0.67c4.06-0.09,8.08,0.41,12.11,0.79c6.3,0.59,12.25,2.35,17.8,5.4c2.75,1.51,5.42,3.16,8.14,4.73 c2.28,1.31,4.66,2.44,6.86,3.9c3.13,2.08,5.97,4.5,8.76,7.01c1.21,1.08,1.39,2.72,0.5,3.98c-0.89,1.26-2.54,1.63-4,0.88 c-0.91-0.47-1.63-1.18-2.38-1.87c-2.48-2.3-5.15-4.35-8.08-6.01c-3.62-2.04-7.27-4.01-10.8-6.18c-3.08-1.89-6.37-3.31-9.83-4.34 c-2.92-0.87-5.94-1.17-8.95-1.55c-6.31-0.78-12.61-0.74-18.92-0.08c-4.38,0.46-8.73,1.06-13.01,2.09 c-3.96,0.96-7.58,2.63-10.99,4.83c-0.24,0.16-0.65,0.26-0.61,0.61c0.1,0.95,0.14,1.94,1.1,2.52c0.65,0.4,1.06,1,1.29,1.72 c0.09,0.27,0.16,0.53,0.35,0.75c1.73,1.98,3.41,4.01,5.31,5.83c5.08,4.88,10.87,8.76,17.19,11.83c7.44,3.62,15.22,6.3,23.27,8.23 c4.41,1.06,8.81,2.03,13.36,2.26c6.66,0.33,13.24-0.41,19.77-1.6c4.95-0.9,9.88-1.9,14.84-2.76c7.56-1.31,14.74-3.74,21.57-7.21 c0.03-0.01,0.03-0.08,0.07-0.15c-0.15-0.15-0.29-0.33-0.46-0.48c-4.47-4.18-8.87-8.45-13.62-12.32 c-7.09-5.77-14.71-10.73-22.62-15.28c-4-2.3-8.35-3.71-12.72-5.08c-10.31-3.22-20.86-4.95-31.67-4.85 c-4.11,0.04-8.18,0.56-12.24,1.1c-3.57,0.48-7.05,1.33-10.56,2.1C144.7,52.09,143.17,52.59,141.7,53.77\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#FE767C\",\n d: \"M187.54,43.88c0.34-0.3,0.74-0.3,1.1-0.41c3.91-1.24,7.96-1.65,12.03-1.94 c5.49-0.39,10.96-0.31,16.43,0.46c4.87,0.69,9.41,2.2,13.62,4.82c5.15,3.2,10.14,6.62,14.6,10.72 c5.53,5.08,9.82,11.06,12.23,18.28c1.4,4.2,2.74,8.41,3.42,12.8c0.52,3.36,0.76,6.74,0.67,10.13c-0.1,3.64-0.1,7.28-0.55,10.91 c-0.86,6.94-2.1,13.78-3.86,20.55c-2.21,8.47-5.45,16.57-8.63,24.69c-1.52,3.89-2.83,7.85-4.35,11.74 c-2.15,5.49-4.66,10.82-7.14,16.17c-3.05,6.58-5.96,13.24-8.83,19.9c-3.96,9.15-8.8,17.82-14.12,26.23 c-4.41,6.98-9.26,13.64-14.56,19.98c-6.66,7.97-15.01,13.3-24.87,16.35c-3.53,1.09-7.18,1.2-10.83,1.06 c-5.14-0.18-10.22-0.9-15.21-2.19c-4.65-1.2-8.89-3.34-13.14-5.46c-3.1-1.55-6.27-2.94-9.69-3.69c-4.62-1.01-9.03-0.23-13.4,1.34 c-4.26,1.53-7.86,4.14-11.37,6.89c-3.24,2.54-6.72,4.58-10.73,5.67c-3.05,0.83-6.12,0.56-9.19,0.13 c-5.91-0.83-11.12-3.25-15.76-6.98c-3.02-2.43-5.96-4.94-8.84-7.53c-4.46-4.01-7.78-8.89-10.8-14.01 c-5.21-8.81-9.54-18.06-13.71-27.39c-2.82-6.3-5.67-12.58-8.21-19c-2.02-5.1-4.2-10.15-5.98-15.33 c-2.86-8.35-5.34-16.82-7.08-25.49c-0.95-4.72-1.73-9.46-2.36-14.22c-0.57-4.24-0.88-8.5-1.01-12.78 c-0.22-7.67,0.26-15.31,0.72-22.96c0.27-4.52,0.54-9.04,1.3-13.51c0.99-5.79,2.21-11.52,4.23-17.06 c1.86-5.14,4.47-9.83,7.92-14.08c2.95-3.64,5.95-7.22,9.5-10.31c5.31-4.62,11.39-7.72,18.16-9.59 c7.06-1.94,14.21-3.24,21.54-3.26c8.36-0.03,16.59,0.95,24.61,3.48c4.49,1.41,8.76,3.22,12.7,5.83c2.73,1.79,5.69,3.19,8.64,4.58 c0.49,0.23,0.33,0.46,0.2,0.76c-1.43,3.57-2.56,7.24-3.63,10.93c-0.19,0.63-0.34,1.27-0.45,1.92c-0.07,0.38-0.17,0.45-0.54,0.3 c-2.16-0.92-4.01-2.24-5.45-4.12c-0.15-0.19-0.26-0.43-0.36-0.66c-0.7-1.68-2.22-2.5-3.74-2c-1.67,0.54-2.6,2.33-2.13,4.08 c0.19,0.72,0.59,1.33,1.05,1.92c2.05,2.59,4.51,4.64,7.53,6.09c3.56,1.71,7.06,3.56,10.96,4.35c3.05,0.62,6.11,1.24,9.24,1.03 c0.61-0.04,0.92,0.26,1.25,0.67c7.28,8.94,16.47,15.35,26.92,20c9.7,4.31,19.81,7.36,30.29,9.12c5.01,0.84,10.07,0.86,15.13,0.49 c6.24-0.46,12.38-1.66,18.51-2.84c4.54-0.87,9.12-1.57,13.62-2.67c4.62-1.13,9.15-2.56,13.46-4.61c1.71-0.82,3.43-1.61,5.14-2.43 c0.85-0.41,1.65-0.89,2.38-1.49c1.89-1.57,2.13-3.69,0.63-5.63c-0.87-1.12-1.9-2.1-2.93-3.07c-6.15-5.85-12.3-11.67-19.19-16.66 c-6.75-4.89-13.67-9.51-21.13-13.25c-4.06-2.04-8.42-3.29-12.75-4.61c-4.14-1.27-8.35-2.26-12.62-2.95 C187.95,44.02,187.76,43.95,187.54,43.88\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#8BCEA0\",\n d: \"M141.7,53.77c1.47-1.17,3-1.68,4.62-2.04c3.51-0.76,6.99-1.62,10.56-2.1 c4.06-0.55,8.13-1.06,12.24-1.1c10.81-0.1,21.35,1.63,31.67,4.85c4.37,1.37,8.72,2.78,12.72,5.08 c7.91,4.54,15.53,9.51,22.62,15.28c4.75,3.87,9.15,8.13,13.62,12.32c0.16,0.15,0.31,0.32,0.46,0.48 c-0.03,0.07-0.04,0.14-0.07,0.15c-6.83,3.47-14.01,5.9-21.57,7.21c-4.96,0.86-9.89,1.86-14.84,2.76 c-6.53,1.19-13.11,1.93-19.77,1.6c-4.55-0.23-8.96-1.2-13.36-2.26c-8.04-1.94-15.83-4.62-23.27-8.23 c-6.31-3.07-12.1-6.95-17.19-11.83c-1.9-1.82-3.58-3.85-5.31-5.83c-0.19-0.22-0.26-0.48-0.35-0.75 c-0.23-0.72-0.64-1.32-1.29-1.72c-0.96-0.58-1-1.58-1.1-2.52c-0.04-0.35,0.37-0.45,0.61-0.61c3.41-2.2,7.03-3.87,10.99-4.83 c4.28-1.04,8.64-1.64,13.01-2.09c6.32-0.67,12.61-0.7,18.92,0.08c3.01,0.37,6.03,0.68,8.95,1.55c3.46,1.03,6.75,2.45,9.83,4.34 c3.53,2.18,7.18,4.15,10.8,6.18c2.94,1.66,5.6,3.71,8.08,6.01c0.74,0.69,1.47,1.4,2.38,1.87c1.46,0.75,3.11,0.38,4-0.88 c0.88-1.25,0.7-2.9-0.5-3.98c-2.79-2.5-5.63-4.93-8.76-7.01c-2.2-1.46-4.58-2.59-6.86-3.9c-2.72-1.56-5.39-3.21-8.14-4.73 c-5.55-3.05-11.5-4.81-17.8-5.4c-4.03-0.38-8.05-0.88-12.11-0.79c-3.47,0.07-6.92,0.32-10.37,0.67c-4.38,0.45-8.73,1.12-13,2.19 C142.04,53.78,141.97,53.77,141.7,53.77\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#FCD368\",\n d: \"M131.18,36.47c0.02-0.15,0.05-0.28,0.15-0.41c2.96-4.11,6.24-7.96,9.45-11.87 c0.05-0.05,0.1-0.12,0.15-0.17l-0.01,0.01l0.16-0.18l-0.02,0.02c0.05-0.06,0.11-0.12,0.16-0.19l-0.03,0.03 c0.05-0.06,0.11-0.12,0.17-0.19l-0.03,0.03c0.24-0.05,0.35-0.2,0.35-0.45l0,0.01c0.21-0.01,0.31-0.12,0.3-0.33l-0.01,0.02 c0.1-0.02,0.15-0.08,0.16-0.18l-0.02,0.02c0.11-0.01,0.16-0.07,0.16-0.18l-0.02,0.02c0.11-0.01,0.16-0.07,0.16-0.18l-0.01,0.02 c0.12,0,0.17-0.05,0.15-0.18l-0.01,0c0.18,0.04,0.28-0.08,0.38-0.19c0.88-0.94,1.81-1.84,2.62-2.83 c0.53-0.66,1.31-1.11,1.61-1.96l-0.01,0.02c0.05-0.06,0.11-0.11,0.17-0.17l-0.02,0.02c0.06-0.05,0.12-0.11,0.17-0.17l-0.02,0.02 c0.06-0.06,0.12-0.11,0.17-0.17l-0.02,0.02c0.05-0.06,0.11-0.12,0.17-0.17l-0.02,0.02c0.05-0.05,0.11-0.11,0.16-0.16 c2.09-2.12,4.41-4.01,6.64-6c1.18-1.06,2.46-2.01,3.67-3.06c0.89-0.78,1.92-0.9,2.99-0.71c3.28,0.57,6.2,1.93,8.74,4.12 c0.49,0.43,0.08,0.58-0.15,0.79c-2.69,2.3-5.41,4.58-8.08,6.9c-5.02,4.36-10.49,8.24-14.98,13.16 c-4.71,5.17-9.79,10.05-13.75,15.87c-1.98,2.91-3.74,5.95-5.56,8.96c-0.41,0.68-0.88,1.28-1.44,1.84 c-0.77,0.76-1.26,1.65-1.14,2.77c0.02,0.21-0.04,0.4-0.13,0.58c-0.76,1.65-1.55,3.29-2.28,4.96c-0.2,0.45-0.44,0.54-0.88,0.39 c-0.55-0.19-1.12-0.31-1.68-0.47c-1.14-0.33-1.16-0.33-1.09-1.55c0.08-1.43,0.6-2.76,0.97-4.13c2.08-7.65,5.59-14.67,9.54-21.49 c0.04-0.06,0.1-0.11,0.15-0.17c0.19-0.1,0.27-0.26,0.27-0.48l-0.03,0.02C130.53,38.23,130.81,37.32,131.18,36.47\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M147.15,17.17c-0.3,0.84-1.08,1.3-1.6,1.96c-0.81,1-1.74,1.9-2.62,2.84 c-0.1,0.11-0.2,0.23-0.38,0.19C143.93,20.36,145.47,18.7,147.15,17.17\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M131.18,36.47c-0.37,0.85-0.65,1.75-1.52,2.27 C130.11,37.95,130.51,37.12,131.18,36.47\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M141.99,22.79c0.01,0.22-0.09,0.32-0.3,0.33 C141.73,22.96,141.82,22.83,141.99,22.79\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M141.69,23.11c0,0.24-0.12,0.39-0.35,0.45 C141.38,23.34,141.51,23.21,141.69,23.11\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M129.69,38.73c0,0.21-0.08,0.37-0.27,0.48 C129.46,39.02,129.49,38.82,129.69,38.73\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M147.9,16.43c-0.05,0.05-0.1,0.11-0.16,0.16 C147.8,16.53,147.85,16.48,147.9,16.43\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M147.76,16.56c-0.06,0.06-0.11,0.12-0.17,0.17 C147.6,16.63,147.66,16.57,147.76,16.56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M147.61,16.72c-0.05,0.06-0.11,0.11-0.17,0.17 C147.45,16.78,147.5,16.72,147.61,16.72\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M147.46,16.87c-0.06,0.05-0.11,0.11-0.17,0.17 C147.29,16.93,147.36,16.87,147.46,16.87\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M147.3,17.02c-0.05,0.06-0.11,0.11-0.17,0.17 C147.14,17.08,147.2,17.02,147.3,17.02\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M142.56,22.15c0.02,0.12-0.04,0.18-0.15,0.18 C142.39,22.21,142.44,22.15,142.56,22.15\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M142.42,22.31c0.01,0.11-0.05,0.17-0.16,0.18 C142.25,22.38,142.3,22.31,142.42,22.31\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M142.28,22.47c0,0.11-0.05,0.17-0.16,0.18 C142.11,22.54,142.16,22.47,142.28,22.47\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M142.14,22.63c0,0.1-0.06,0.16-0.16,0.18 C141.97,22.7,142.02,22.63,142.14,22.63\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M141.37,23.52c-0.05,0.07-0.11,0.13-0.16,0.19 C141.2,23.6,141.26,23.54,141.37,23.52\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M141.23,23.69c-0.05,0.06-0.11,0.12-0.16,0.19 C141.07,23.77,141.12,23.7,141.23,23.69\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M141.09,23.85l-0.16,0.18C140.93,23.93,140.98,23.86,141.09,23.85\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n clipPath: \"url(#SVGID_4_)\",\n fill: \"#D1CCBF\",\n d: \"M140.94,24.02c-0.05,0.06-0.1,0.12-0.15,0.17 C140.83,24.13,140.89,24.07,140.94,24.02\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApple);\nexport default __webpack_public_path__ + \"static/media/apple.25862f62.svg\";\nexport { ForwardRef as ReactComponent };","import React, {ReactElement, useCallback, useState} from 'react';\r\nimport {Collapse} from 'react-collapse';\r\nimport {FormattedMessage} from 'react-intl';\r\nimport {ReactComponent as IconDown} from 'assets/image/library/chevron-down.svg';\r\nimport {ReactComponent as IconUp} from 'assets/image/library/chevron-up.svg';\r\n\r\nimport './styles.scss';\r\n\r\ntype SituationsProps = {\r\n children?: ReactElement | null;\r\n};\r\n\r\nexport const Situations = ({\r\n children\r\n}: SituationsProps): JSX.Element => {\r\n const [isCollapseOpen, setIsCollapseOpen] = useState(true);\r\n\r\n const onClick = useCallback(\r\n () => setIsCollapseOpen(!isCollapseOpen),\r\n [isCollapseOpen]\r\n );\r\n\r\n return
\r\n \r\n \r\n
{children}
\r\n \r\n
;\r\n};\r\n","import {LibraryFilters} from './LibraryFilters';\r\nexport default LibraryFilters;\r\n","import React, {FunctionComponent, useEffect, useState} from 'react';\r\nimport {useIntl} from 'react-intl';\r\n\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {IFilter, ILibraryFiltersResponse} from 'redux/content/interfaces';\r\nimport {IStore} from 'redux/interface';\r\nimport {setSelectedFilters} from 'redux/content/actions';\r\n\r\nimport FilterBar from './filter-bar';\r\nimport GritxButton from 'components/gritx-button';\r\nimport Situation from './situation';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport {FilterModel, FilterValuesModel} from './LibraryModels';\r\nimport {LibraryFilter} from './LibraryEnums';\r\nimport {Situations} from './situations/Situations';\r\n\r\nimport './styles.scss';\r\n\r\ninterface ILibraryFilters {\r\n filters: ILibraryFiltersResponse | null\r\n onChange: (filters: IFilter[]) => void\r\n}\r\n\r\nexport const LibraryFilters: FunctionComponent = ({\r\n filters,\r\n onChange\r\n}: ILibraryFilters) => {\r\n const {\r\n content: {\r\n selectedFilters\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n const intl = useIntl();\r\n\r\n const [situationFilterList, setSituationFilterList] = useState();\r\n const [typeFilterList, setTypeFilterList] = useState({} as FilterModel);\r\n const [timeFilterList, setTimeFilterList] = useState({} as FilterModel);\r\n\r\n function getFilters(typeFilter: LibraryFilter): FilterModel {\r\n const filterList = filters?.filters?.find(a => a.name === typeFilter);\r\n\r\n return {\r\n serialNumber: filterList?.serialNumber,\r\n values: filterList?.allowValues as FilterValuesModel[]\r\n };\r\n }\r\n\r\n function dispatchFilters(filterList: IFilter[]) {\r\n dispatch(setSelectedFilters(filterList));\r\n }\r\n\r\n function changeSituationFilter(id: number, checked: boolean) {\r\n const updatedSituations = Object.assign(situationFilterList, {});\r\n\r\n updatedSituations.values = updatedSituations?.values.map(sv => {\r\n if (sv.id === id) {\r\n return {...sv, checked};\r\n }\r\n\r\n return sv;\r\n });\r\n setSituationFilterList(updatedSituations);\r\n }\r\n\r\n useEffect(() => {\r\n const filterList = getFilters(LibraryFilter.LifeSituations);\r\n\r\n setTypeFilterList(getFilters(LibraryFilter.Types));\r\n setTimeFilterList(getFilters(LibraryFilter.ReadingTime));\r\n\r\n if (!selectedFilters.length) {\r\n setSituationFilterList(filterList);\r\n\r\n const filtersList = filters?.filters.map((filter) => {\r\n return {\r\n serialNumber: filter.serialNumber,\r\n name: filter.name,\r\n format: filter.format,\r\n inputValue: filter.name === LibraryFilter.Types || filter.name === LibraryFilter.ReadingTime ? filter.allowValues?.map(item => item.id) || [] : []\r\n };\r\n });\r\n\r\n if (filtersList) {\r\n onChange(filtersList);\r\n dispatchFilters(filtersList);\r\n }\r\n } else {\r\n const challengeValues = selectedFilters.find(a => a.name === LibraryFilter.LifeSituations)?.inputValue as number [];\r\n const mappedFilterValues = filterList.values?.map((val: FilterValuesModel) => {\r\n if (challengeValues.find(cv => cv === val.id)) {\r\n return {...val, checked: true};\r\n }\r\n\r\n return val;\r\n });\r\n\r\n filterList.values = mappedFilterValues;\r\n setSituationFilterList(filterList);\r\n }\r\n }, [filters]);\r\n\r\n const handleToggle = (serialNumber: string | undefined, id: number, checked: boolean, filterType: LibraryFilter) => {\r\n if (filterType === LibraryFilter.LifeSituations) {\r\n changeSituationFilter(id, checked);\r\n }\r\n\r\n const updatedFilters = selectedFilters;\r\n const filterIdx = updatedFilters.findIndex(item => item.serialNumber === serialNumber);\r\n\r\n if (checked) {\r\n updatedFilters[filterIdx].inputValue = [...updatedFilters[filterIdx].inputValue, id] as number[];\r\n } else {\r\n updatedFilters[filterIdx].inputValue = [...updatedFilters[filterIdx].inputValue].filter(item => item !== id) as number[];\r\n }\r\n dispatchFilters(updatedFilters);\r\n onChange(updatedFilters);\r\n };\r\n\r\n const handleChangeSearchString = (value: string) => {\r\n const updatedFilters = selectedFilters;\r\n const filterIdx = updatedFilters.findIndex(item => item.name === LibraryFilter.SearchString);\r\n\r\n updatedFilters[filterIdx].inputValue = value;\r\n dispatchFilters(updatedFilters);\r\n onChange(updatedFilters);\r\n };\r\n\r\n const handleClear = () => {\r\n const updatedFilters = selectedFilters;\r\n const filterIdx = updatedFilters.findIndex(item => item.name === LibraryFilter.LifeSituations);\r\n\r\n updatedFilters[filterIdx].inputValue = [];\r\n\r\n dispatchFilters(updatedFilters);\r\n onChange(updatedFilters);\r\n const updatedSituations = Object.assign(situationFilterList, {});\r\n\r\n updatedSituations.values = updatedSituations?.values.map(sv => {\r\n return {...sv, checked: false};\r\n });\r\n setSituationFilterList(updatedSituations);\r\n };\r\n\r\n return
\r\n \r\n <>\r\n
\r\n {situationFilterList?.values?.map(v => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {typeFilterList && timeFilterList ? : null}\r\n
;\r\n};\r\n","import {Library} from './Library';\r\nexport default Library;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {useHistory} from 'react-router-dom';\r\n\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {getLibContent, getLibFilters, getTranslations, libraryAsyncActions} from 'redux/pageAsyncActions';\r\nimport {IFilter} from 'redux/content/interfaces';\r\nimport {maxArticleCards} from 'utils/constants/constants';\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\n\r\nimport CrossroadImg from 'assets/image/library/skill-crossroad.svg';\r\nimport {ReactComponent as BookIcon} from 'assets/image/library/book.svg';\r\n\r\nimport CardSection from 'components/card-section';\r\nimport Loader from 'components/loader';\r\nimport LibraryFilters from 'components/library';\r\nimport NotFoundInfo from 'components/not-found-info';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Library: React.FunctionComponent = () => {\r\n const {\r\n content: {\r\n content,\r\n filters: libFilters\r\n },\r\n status: {\r\n loading\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const intl = useIntl();\r\n const [selectedFilters, setSelectedFilters] = useState([]);\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Library\r\n });\r\n\r\n useEffect(() => {\r\n dispatch(libraryAsyncActions[getLibFilters]());\r\n }, []);\r\n\r\n function loadContent({\r\n filters,\r\n offset\r\n }: { filters: IFilter[]; offset: number }) {\r\n dispatch(libraryAsyncActions[getLibContent](\r\n {\r\n filters,\r\n offset,\r\n pageSize: maxArticleCards\r\n }\r\n ));\r\n }\r\n\r\n function handleLoadMore(offset: number) {\r\n loadContent({\r\n filters: selectedFilters,\r\n offset\r\n });\r\n }\r\n\r\n function handleChangeFilters(changedFilters: IFilter[]) {\r\n setSelectedFilters(changedFilters);\r\n loadContent({\r\n filters: changedFilters,\r\n offset: 0\r\n });\r\n }\r\n\r\n function handleOpenCard(cardId: number) {\r\n history.push(\r\n `/content#${cardId}`,\r\n history.location.state ? history.location.state : {parentLocation: history.location.pathname}\r\n );\r\n }\r\n\r\n function renderFilters() {\r\n if (libFilters) {\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return
\r\n {\r\n !loading.includes(getTranslations) && <>\r\n

\r\n \r\n

\r\n
\r\n {\r\n loading.includes(getLibFilters) ? : renderFilters()\r\n }\r\n
\r\n
\r\n {content.length === 0 && libFilters ? : }\r\n
\r\n \r\n }\r\n
;\r\n};\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"glyphicons-halflings\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"plus\",\n d: \"M17,9v2a1,1,0,0,1-1,1H12v4a1,1,0,0,1-1,1H9a1,1,0,0,1-1-1V12H4a1,1,0,0,1-1-1V9A1,1,0,0,1,4,8H8V4A1,1,0,0,1,9,3h2a1,1,0,0,1,1,1V8h4A1,1,0,0,1,17,9Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlus);\nexport default __webpack_public_path__ + \"static/media/plus.e8cae4a3.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/success.d9a4ba0b.png\";","import {GritxSelect} from './GritxSelect';\r\nexport default GritxSelect;\r\n","import React, {ChangeEvent} from 'react';\r\nimport cn from 'classnames';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IGritxButtonProps {\r\n name: string;\r\n placeholder?: string;\r\n defaultValue?: string;\r\n className?: string;\r\n disabled?: boolean;\r\n options: { id: string | number; name: string }[]\r\n onChange: (e: ChangeEvent) => void;\r\n onBlur?: (e: ChangeEvent) => void;\r\n}\r\n\r\nexport const GritxSelect = ({\r\n name,\r\n className,\r\n placeholder,\r\n defaultValue,\r\n disabled = false,\r\n options,\r\n onChange,\r\n onBlur\r\n}: IGritxButtonProps): JSX.Element => {\r\n return
\r\n \r\n {placeholder && }\r\n {\r\n options.map(option => {\r\n return ;\r\n })\r\n }\r\n \r\n
;\r\n};\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgQuestion(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 24 24\",\n style: {\n enableBackground: \"new 0 0 24 24\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"question-sign\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,6.228c-3.187,0-5.771,2.584-5.771,5.772S8.813,17.771,12,17.771s5.771-2.584,5.771-5.771S15.187,6.228,12,6.228z M12.937,13.136c-0.216,0-1.004,0-1.729,0c-0.216,0-0.265-0.17-0.259-0.249c0.101-1.226,0.918-1.345,1.17-1.438 c0.253-0.092,0.332-0.213,0.332-0.525c0-0.236-0.167-0.389-0.432-0.389c-0.43,0-0.579,0.106-0.662,0.368 c-0.049,0.153-0.344,0.104-0.344,0.104s-0.698,0-1.318,0c-0.166,0-0.199-0.121-0.199-0.249c0-1.755,1.503-2.169,2.381-2.169 s2.425,0.338,2.425,1.969C14.303,12.471,13.153,13.136,12.937,13.136z M13,15.75c0,0.137-0.113,0.25-0.25,0.25h-1.5 C11.113,16,11,15.887,11,15.75v-1.5c0-0.137,0.113-0.25,0.25-0.25h1.5c0.137,0,0.25,0.113,0.25,0.25V15.75z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgQuestion);\nexport default __webpack_public_path__ + \"static/media/question.2ae17b76.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPencilIco(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"glyphicons-basic\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n id: \"pencil\",\n d: \"M27.414,8.82812l-2.08588,2.08594L21.08588,6.67188l2.08587-2.08594a.99985.99985,0,0,1,1.41425,0l2.828,2.82812A.99986.99986,0,0,1,27.414,8.82812ZM8.08594,19.67188l4.24218,4.24218L23.91406,12.32812,19.67181,8.08594ZM4.27667,27.09863a.50005.50005,0,0,0,.62476.62476l5.92773-2.48023L6.75677,21.1709Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPencilIco);\nexport default __webpack_public_path__ + \"static/media/pencil-ico.81ae3a80.svg\";\nexport { ForwardRef as ReactComponent };","import {EmailBox} from './EmailBox';\r\nexport default EmailBox;\r\n","import React from 'react';\r\n\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n email: string;\r\n deleteEmail: () => void;\r\n}\r\n\r\nexport const EmailBox = ({\r\n email,\r\n deleteEmail\r\n}: Props): JSX.Element => {\r\n return
\r\n {email}\r\n \r\n
;\r\n};\r\n","import {EmailZone} from './EmailZone';\r\nexport default EmailZone;\r\n","import React, {useEffect, useState} from 'react';\r\n\r\nimport {useSelector} from 'react-redux';\r\nimport * as EmailValidator from 'email-validator';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\nimport TextareaAutosize from 'react-textarea-autosize';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {maxEmails} from 'utils/constants/constants';\r\n\r\nimport {ReactComponent as PlusIcon} from 'assets/image/materials/plus.svg';\r\nimport {ReactComponent as QuestionIcon} from 'assets/image/materials/question.svg';\r\n\r\nimport GritxButton from 'components/gritx-button';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport EmailBox from './email-box';\r\nimport './styles.scss';\r\n\r\ntype Props = {\r\n initialEmails: string;\r\n initialToSelf: boolean;\r\n onChange: (parsedEmails: string[], toSelf: boolean) => void;\r\n}\r\n\r\nexport const EmailZone = ({initialEmails, initialToSelf, onChange}: Props): JSX.Element => {\r\n const user = useSelector((state: IStore) => state.auth.auth0User);\r\n const intl = useIntl();\r\n const [toSelf, setToSelf] = useState(initialToSelf);\r\n const [inputEmails, setInputEmails] = useState('');\r\n const [parsedEmails, setParsedEmails] = useState(initialEmails.length > 1 ? initialEmails.split(',') : []);\r\n const [error, setError] = useState(false);\r\n\r\n useEffect(() => {\r\n setToSelf(initialToSelf);\r\n }, [initialToSelf]);\r\n\r\n useEffect(() => {\r\n setParsedEmails(initialEmails.length > 1 ? initialEmails.split(',') : []);\r\n }, [initialEmails]);\r\n\r\n useEffect(() => {\r\n onChange(parsedEmails, toSelf);\r\n }, [parsedEmails, toSelf]);\r\n\r\n function showError() {\r\n setError(true);\r\n setTimeout(setError, 5000, false);\r\n }\r\n\r\n function parseEmails() {\r\n const emails = inputEmails.split(/(?:,| |;|\\n)+/);\r\n\r\n setInputEmails('');\r\n for (let i = 0; i < emails.length; i++) {\r\n if (EmailValidator.validate(emails[i]) && !parsedEmails.includes(emails[i])) {\r\n if (parsedEmails.length === maxEmails) {\r\n showError();\r\n break;\r\n }\r\n parsedEmails.push(emails[i]);\r\n const newEmails = [...parsedEmails];\r\n\r\n setParsedEmails(newEmails);\r\n }\r\n }\r\n }\r\n\r\n const keydownHandler = (event: React.KeyboardEvent) => {\r\n if (event.key === 'Enter' && !event.ctrlKey && !event.shiftKey) {\r\n event.preventDefault();\r\n parseEmails();\r\n }\r\n };\r\n\r\n function deleteEmail(email: string) {\r\n setParsedEmails(parsedEmails.filter(item=> item !== email));\r\n }\r\n\r\n function handleDeleteEmail(email: string) {\r\n return () => { deleteEmail(email); };\r\n }\r\n\r\n function sendToSelf() {\r\n setToSelf(!toSelf);\r\n }\r\n\r\n function removeAll() {\r\n setParsedEmails([]);\r\n }\r\n\r\n return
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n setInputEmails(ev.target.value);\r\n }}\r\n />\r\n \r\n
\r\n
\r\n {\r\n parsedEmails.map((email, i) => {\r\n return ;\r\n })\r\n }\r\n
\r\n
\r\n
\r\n \r\n {!user?.email && }\r\n
\r\n \r\n
\r\n
\r\n
\r\n {error &&

\r\n \r\n

}\r\n
;\r\n};\r\n","import {MaterialsShare} from './MaterialsShare';\r\nexport default MaterialsShare;\r\n","import React, {useEffect, useState, ChangeEvent} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\n\r\nimport GritxButton from 'components/gritx-button';\r\nimport GritxSelect from 'components/gritx-select';\r\nimport EmailZone from 'components/еmail-zone';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\n\r\nimport {getTemplates, materialsAsyncActions} from 'redux/pageAsyncActions';\r\nimport {IStore} from 'redux/interface';\r\nimport {setSendMaterialsStatus} from 'redux/content/actions';\r\n\r\nimport './styles.scss';\r\n\r\ninterface ISubject {\r\n id: number\r\n name: string\r\n code: string\r\n template: string\r\n language: string\r\n}\r\n\r\nexport interface IShareMaterials {\r\n templateId: number | undefined\r\n toSelf: boolean\r\n emails: string\r\n}\r\n\r\ninterface IMaterialsShare {\r\n onSend: () => void\r\n onChange: (data: IShareMaterials) => void\r\n onRemoveAll: () => void,\r\n onShareMode: (sharing: boolean) => void,\r\n isDisabledRemoveAll: boolean\r\n isDisabledShare: boolean\r\n isDisabledSend: boolean\r\n}\r\n\r\nexport const MaterialsShare: React.FunctionComponent = (\r\n {\r\n onSend,\r\n onRemoveAll,\r\n onShareMode,\r\n isDisabledRemoveAll,\r\n isDisabledShare,\r\n isDisabledSend,\r\n onChange\r\n }: IMaterialsShare\r\n) => {\r\n const {\r\n content: {\r\n shareTemplates,\r\n sendMaterialsStatus\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const intl = useIntl();\r\n const dispatch = useDispatch();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [toSelf, setToSelf] = useState(false);\r\n const [emails, setEmails] = useState('');\r\n const [subject, setSubject] = useState(null);\r\n\r\n useEffect(() => {\r\n dispatch(materialsAsyncActions[getTemplates]());\r\n }, []);\r\n\r\n useEffect(() => {\r\n setIsOpen(false);\r\n setEmails('');\r\n setSubject(null);\r\n setToSelf(false);\r\n }, [sendMaterialsStatus]);\r\n\r\n useEffect(() => {\r\n onChange({\r\n emails,\r\n templateId: subject?.id,\r\n toSelf\r\n });\r\n }, [toSelf, emails, subject]);\r\n\r\n useEffect(() => {\r\n function handleCloseTab(e: BeforeUnloadEvent) {\r\n if (isOpen) {\r\n const message = intl.formatMessage({\r\n id: 'gritx.common.notification.close-tab',\r\n defaultMessage: 'Changes you made may not be saved.'\r\n });\r\n\r\n (e || window.event).returnValue = message;\r\n\r\n return message;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n window.addEventListener('beforeunload', handleCloseTab);\r\n\r\n return () => window.removeEventListener('beforeunload', handleCloseTab);\r\n }, [isOpen]);\r\n\r\n function handleClearMaterials() {\r\n onRemoveAll();\r\n }\r\n\r\n function handleToggleForm(value: boolean) {\r\n return () => {\r\n setIsOpen(value);\r\n onShareMode(value);\r\n if (!value) {\r\n setSubject(null);\r\n setEmails('');\r\n setToSelf(false);\r\n }\r\n };\r\n }\r\n\r\n function handleSendForm() {\r\n onSend();\r\n }\r\n\r\n function handleSelectSubject(e: ChangeEvent) {\r\n const newSubj = shareTemplates.find(subj => subj.id.toString() === e.target.value);\r\n\r\n if (newSubj) {\r\n setSubject(newSubj);\r\n }\r\n }\r\n\r\n function handleDone() {\r\n setSubject(null);\r\n dispatch(setSendMaterialsStatus(false));\r\n }\r\n\r\n function updateEmailsAndToSelf(parsedEmails: string[], parsedToSelf: boolean) {\r\n setEmails(parsedEmails.join(','));\r\n setToSelf(parsedToSelf);\r\n }\r\n\r\n function renderHeader() {\r\n if (sendMaterialsStatus) {\r\n return ;\r\n }\r\n\r\n return isOpen ? <>\r\n \r\n \r\n \r\n : <>\r\n \r\n \r\n ;\r\n }\r\n\r\n return
\r\n
\r\n {renderHeader()}\r\n
\r\n {\r\n isOpen\r\n &&
\r\n
\r\n \r\n \r\n
\r\n
\r\n updateEmailsAndToSelf(parsedEmails, parsedToSelf)}/>\r\n
\r\n
\r\n }\r\n {\r\n isOpen &&

\r\n \r\n

\r\n }\r\n
;\r\n};\r\n","import {Materials} from './Materials';\r\nexport default Materials;\r\n","import React, {useEffect, useState} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {useHistory} from 'react-router-dom';\r\nimport {Redirect} from 'react-router-dom';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\n\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {proUser} from 'utils/constants/constants';\r\nimport {IStore} from 'redux/interface';\r\nimport {getMaterialsContent, getTranslations, materialsAsyncActions, sendMaterials} from 'redux/pageAsyncActions';\r\nimport {removeMaterialAction} from 'redux/content/contentAsyncActions';\r\nimport {IArticleCard} from 'redux/content/interfaces';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\n\r\nimport {ReactComponent as AppleIcon} from 'assets/image/materials/apple.svg';\r\nimport CrossroadImg from 'assets/image/library/skill-crossroad.svg';\r\nimport SuccessImg from 'assets/image/materials/success.png';\r\n\r\nimport CardSection from 'components/card-section';\r\nimport Loader from 'components/loader';\r\nimport NotFoundInfo from 'components/not-found-info';\r\nimport {IShareMaterials} from 'components/materials-share/MaterialsShare';\r\nimport MaterialsShare from 'components/materials-share';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Materials: React.FunctionComponent = () => {\r\n const {\r\n auth: {auth0User},\r\n content: {\r\n materialsContent,\r\n sendMaterialsStatus\r\n },\r\n status: {\r\n loading\r\n }\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const intl = useIntl();\r\n const [isLoadCards, setIsLoadCards] = useState(true);\r\n const [isShareMode, setIsShareMode] = useState(false);\r\n const [checkedCards, setCheckedCards] = useState([]);\r\n const [recipientInfo, setRecipientInfo] = useState({\r\n emails: '',\r\n templateId: 0,\r\n toSelf: false\r\n });\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Materials\r\n });\r\n\r\n useEffect(() => {\r\n dispatch(materialsAsyncActions[getMaterialsContent]());\r\n setIsLoadCards(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setCheckedCards([]);\r\n setIsShareMode(false);\r\n }, [sendMaterialsStatus]);\r\n\r\n useEffect(() => {\r\n if (!isShareMode) {\r\n setCheckedCards([]);\r\n setRecipientInfo({\r\n emails: '',\r\n templateId: 0,\r\n toSelf: false\r\n });\r\n }\r\n }, [isShareMode]);\r\n if (!auth0User?.['https://gritx.org/roles'].includes(proUser)) {\r\n return ;\r\n }\r\n\r\n function removeAll() {\r\n const cardsId: number[] = [];\r\n\r\n materialsContent.map((card: IArticleCard) => {\r\n return cardsId.push(card.id);\r\n });\r\n dispatch(removeMaterialAction(cardsId, true));\r\n }\r\n\r\n function validateModel(): boolean {\r\n return Boolean(checkedCards.length && recipientInfo.emails && recipientInfo.templateId);\r\n }\r\n\r\n function handleSendMaterials() {\r\n if (validateModel()) {\r\n dispatch(materialsAsyncActions[sendMaterials]({\r\n contentIds: checkedCards,\r\n emails: recipientInfo.emails,\r\n templateId: recipientInfo.templateId as number,\r\n toSelf: recipientInfo.toSelf\r\n }));\r\n }\r\n }\r\n\r\n function handleChangeShareMode(mode: boolean) {\r\n setIsShareMode(mode);\r\n }\r\n\r\n function handleChangeShareMaterials(materialsModel: IShareMaterials) {\r\n setRecipientInfo(materialsModel);\r\n }\r\n\r\n function handleOpenCard(cardId: number) {\r\n if (isShareMode) {\r\n if (checkedCards.includes(cardId)) {\r\n setCheckedCards(checkedCards.filter(item => item !== cardId));\r\n } else {\r\n setCheckedCards([...checkedCards, cardId]);\r\n }\r\n } else {\r\n history.push(\r\n `/content#${cardId}`,\r\n history.location.state ? history.location.state : {parentLocation: history.location.pathname}\r\n );\r\n }\r\n }\r\n\r\n function renderMaterialsCards() {\r\n return materialsContent.length === 0\r\n ? <>\r\n \r\n \r\n : <>\r\n item.material) : materialsContent}\r\n disabledButtons={isShareMode}\r\n checkedCards={checkedCards}\r\n onClickCard={handleOpenCard}\r\n />\r\n ;\r\n }\r\n\r\n return
\r\n {\r\n !loading.includes(getTranslations) && <>\r\n {loading.includes(sendMaterials) && }\r\n

\r\n \r\n

\r\n
\r\n card.material)}\r\n isDisabledShare={!materialsContent.some(card => card.material)}\r\n isDisabledSend={!validateModel()}\r\n onSend={handleSendMaterials}\r\n onChange={handleChangeShareMaterials}\r\n onRemoveAll={removeAll}\r\n onShareMode={handleChangeShareMode}\r\n />\r\n\r\n
\r\n {\r\n sendMaterialsStatus\r\n ?
\r\n
\r\n \"send\r\n
\r\n

\r\n \r\n

\r\n
\r\n :
\r\n {\r\n loading.includes(getMaterialsContent) || isLoadCards ? : renderMaterialsCards()}\r\n
\r\n }\r\n \r\n }\r\n
;\r\n};\r\n","var _defs, _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgXpedition(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"tab\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 100,\n height: 88.15,\n viewBox: \"0 0 100 88.15\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path\",\n transform: \"translate(0 -0.4)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n y: 0.4,\n width: 100,\n height: 88.15,\n fill: \"none\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path-2\",\n transform: \"translate(0 -0.4)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n y: 0.4,\n width: 100,\n height: 88.15,\n fill: \"none\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"xpedition\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip-path)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip-path-2)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.66.53a8.13,8.13,0,0,1,.1,1.3,57.5,57.5,0,0,0,3.92,17.78C72.39,24,74,28.31,75.6,32.68c1.25,3.41,2.8,6.65,4.33,9.91a85.26,85.26,0,0,0,6.63,11.24c1.29,1.88,2.61,3.73,4,5.57.29.41.53.86.83,1.25a1.74,1.74,0,0,1,0,2.05c-.26.35-.51.72-.75,1.08s-.19.29,0,.57c.7,1,1.43,1.92,2.21,2.82s1.64,1.94,2.45,2.91a10.85,10.85,0,0,1,1.81,3,2.91,2.91,0,0,1,.14,2.15A29.59,29.59,0,0,1,94.79,81q-.21.36-.45.72c.71.49,1.32,1.1,2,1.61a.65.65,0,0,0,.85,0,27.83,27.83,0,0,1,2.42-1.51.59.59,0,0,1,.38-.14c0,1,0,1.91,0,2.88a1,1,0,0,1,0,.1L98,85.77a2.35,2.35,0,0,1-2.74-.17,21.48,21.48,0,0,1-2-1.78l-.15-.15c-.16-.19-.29-.15-.47,0a5.84,5.84,0,0,1-2,1.37,3,3,0,0,1-2.36.09.25.25,0,0,0-.37.14.75.75,0,0,1-.27.26,18.16,18.16,0,0,1-1.94,1,1.93,1.93,0,0,1-2.65-1,5.44,5.44,0,0,1-.46-1.32,1.37,1.37,0,0,0-.45.35c-.44.47-.87,1-1.34,1.44a2,2,0,0,1-2.86.18,9.06,9.06,0,0,1-2.22-2.43c-.17-.27-.34-.52-.49-.79s-.19-.24-.39-.11a12,12,0,0,0-2.9,2.7,11.42,11.42,0,0,1-1,1.21,2.74,2.74,0,0,1-.36.32,2.06,2.06,0,0,1-2.37.11A8.75,8.75,0,0,1,66,85.45c-.43-.45-.85-.91-1.29-1.36a2,2,0,0,0-1.87-.61,19.39,19.39,0,0,0-7,2.64c-.44.26-.89.56-1.35.82a1.45,1.45,0,0,1-2-.76L52.34,86c-.2-.7-.34-1.43-.49-2.16a.81.81,0,0,0-.1-.31,2,2,0,0,0-.64.18,16.9,16.9,0,0,0-4.43,2.37,13.07,13.07,0,0,1-1.76,1.12,3.81,3.81,0,0,1-.66.27,2,2,0,0,1-2.41-1.1c-.32-.55-.61-1.11-.93-1.67s-.31-.47-.82-.34a19.58,19.58,0,0,0-3.58,1.41c-1.45.71-2.93,1.38-4.39,2a3.93,3.93,0,0,1-.8.26,1.57,1.57,0,0,1-1.71-.93,8.33,8.33,0,0,1-.51-1.28c-.1-.3-.2-.6-.32-.9s-.17-.41-.57-.26c-.8.3-1.58.62-2.38.91l-5.06,1.91a7.27,7.27,0,0,1-.8.22,1.74,1.74,0,0,1-1.89-.84l-.32-.48a.81.81,0,0,0-.31.35,9,9,0,0,1-1,1.25,1.76,1.76,0,0,1-2.16.35L14,88.22c-1.57-1-3.26-1.77-4.77-2.89a.52.52,0,0,0-.6-.07,4.52,4.52,0,0,1-.8.22,14,14,0,0,0-1.5.63,3.61,3.61,0,0,1-1.23.39A1.93,1.93,0,0,1,3,84.76s0-.08,0-.12c0-.24-.07-.48-.08-.72-.11-.08-.19,0-.26.07a16.55,16.55,0,0,0-2.3,1.55c-.1.09-.22.16-.34.26V83.43c.14,0,.2-.07.29-.13a12,12,0,0,1,2.2-1.25A3.82,3.82,0,0,1,3,81.87a1.08,1.08,0,0,1,1.09.24c.07.06.1.15.22.11s0-.2-.12-.28a3.47,3.47,0,0,1-.75-1.54A1.82,1.82,0,0,1,3.7,79a2.66,2.66,0,0,1,1.93-1.25,6.77,6.77,0,0,1,3.73.6c.41.19.82.35,1.22.58a5.26,5.26,0,0,0,1.79.56.34.34,0,0,0,.38-.19c.51-.84,1-1.71,1.45-2.59.08-.16.06-.26-.09-.35-.59-.33-1.17-.7-1.75-1.06a4.53,4.53,0,0,1-1-.82,2.4,2.4,0,0,1-.48-2.4c.41-1.41.89-2.82,1.33-4.19,1.41-4.35,3.13-8.56,4.89-12.75,1.33-3.17,2.64-6.41,4-9.59s2.51-6.37,3.74-9.55c1.13-2.82,2.33-5.63,3.52-8.45,1.72-4.08,3.37-8.2,5.07-12.29.94-2.26,2-4.47,3-6.69s2-4.5,3-6.72a13.1,13.1,0,0,1,.7-1.34h1.29a1,1,0,0,1,.56.05C40.83,3,39.74,5.51,38.67,8s-2.28,5.16-3.37,7.75c-1.59,3.78-3.07,7.61-4.67,11.39s-3.1,7.25-4.51,10.92C24,43.68,21.71,49.29,19.37,54.84,18,58,16.66,61.21,15.49,64.48c-.55,1.53-1.11,3-1.57,4.6a4.69,4.69,0,0,0-.29.92c-.34.82-.56,1.71-.83,2.57a.35.35,0,0,0,.12.39,4,4,0,0,0,.64.43,32.27,32.27,0,0,1,3.75,2.41l3,2.18a3.82,3.82,0,0,0,.65.49c.85.74,1.73,1.43,2.65,2.14.46-1.16,1-2.25,1.37-3.39a6.35,6.35,0,0,0,.4-1,4.32,4.32,0,0,0,.19-.45A50.77,50.77,0,0,1,28.6,69.1c1-1.78,2-3.57,2.9-5.45,1-2.09,1.87-4.19,2.79-6.3,1.52-3.38,3.2-6.69,4.84-10,2.25-4.66,4.51-9.33,6.49-14.12.27-.67.59-1.34.81-2a3.74,3.74,0,0,0,.33-.8,1.14,1.14,0,0,0,.18-.44.24.24,0,0,0,.09-.21.69.69,0,0,0,.15-.35c.07-.13.12-.26.19-.41.34-.84.68-1.67,1-2.51s.73-1.68,1.1-2.52a.41.41,0,0,0,.07-.11c.82-1.71,1.72-3.37,2.63-5a1.79,1.79,0,0,0,.35-.93c.07-.09.13-.2.19-.29a.79.79,0,0,1,1-.21,1.37,1.37,0,0,1,.77,1.69,3.58,3.58,0,0,0,0,1.66c.35,2.12.73,4.19,1.14,6.28a72.44,72.44,0,0,0,2.11,8.1,70.32,70.32,0,0,0,3.59,8.63c.87,1.87,1.88,3.65,2.8,5.48s1.67,3.39,2.65,5c1.91,3.09,3.94,6.09,6,9a68.15,68.15,0,0,0,4.67,5.86,26.37,26.37,0,0,0,1.89,2,5.26,5.26,0,0,0,.84.86,20.47,20.47,0,0,0,1.55,1.54A.77.77,0,0,0,82,73.2c.29-.54.54-1.11.88-1.64a36.81,36.81,0,0,0,2.15-3.83,9.5,9.5,0,0,1,.87-1.44,1,1,0,0,0,.23-.37,6.25,6.25,0,0,0,.74-1.08c.1-.07.15-.2.24-.31a2.41,2.41,0,0,0,.5-1.1,1.09,1.09,0,0,1,.79-.86.54.54,0,0,0,.37-.32c.09-.14.18-.28.28-.41s.08-.24,0-.39A16.91,16.91,0,0,0,88,59.93,5,5,0,0,0,87.3,59l-.16-.23c-1.73-2.42-3.39-4.9-5-7.41a72,72,0,0,1-4.47-8.13,105.43,105.43,0,0,1-4.26-9.8c-1.61-4.39-3.2-8.77-4.9-13.1a55.79,55.79,0,0,1-2.24-6.84q-.85-3.47-1.36-7a31.93,31.93,0,0,1-.32-3.38c0-.77-.09-1.51-.12-2.28h0c0-.13,0-.27,0-.39l0,0a11.89,11.89,0,0,0,2.19.13M85,83.86c.46-.24.83-.52,1.26-.7a.19.19,0,0,0,.11-.24v0a4.24,4.24,0,0,1,.27-2.31,23.57,23.57,0,0,1,1.23-2.82,16.27,16.27,0,0,0,.92-2.38c.1-.35.1-.35-.19-.56l-1-.7c-.83-.62-1.64-1.27-2.51-1.81-.11,0-.14.11-.19.19a11.57,11.57,0,0,0-.94,1.6A6.59,6.59,0,0,1,83,75.75,1.35,1.35,0,0,1,81.1,76a3.6,3.6,0,0,1-.58-.45c-.53-.5-1.06-1-1.59-1.55a75.2,75.2,0,0,1-5.15-5.81,79.84,79.84,0,0,1-5.1-7.07c-1.17-1.79-2.39-3.52-3.49-5.36S63.11,51.92,62.12,50C61,47.73,59.81,45.51,58.8,43.2a69.82,69.82,0,0,1-2.64-6.6,90,90,0,0,1-3.07-13.32,2.94,2.94,0,0,0-.18-.89c-1.09,2.05-2.08,4.17-3,6.34s-1.84,4.6-2.81,6.89C45,40.55,42.75,45.33,40.39,50.1c-1.88,3.82-3.75,7.63-5.44,11.55a71,71,0,0,1-3.1,6.46C31,69.69,30,71.24,29.27,72.87c-1.26,2.7-2.4,5.46-3.58,8.19A8.8,8.8,0,0,1,25,82.52a1.28,1.28,0,0,1-1.39.74,1.52,1.52,0,0,1-.69-.3c-.52-.41-1.05-.82-1.61-1.22-.27-.23-.27-.23-.47.07-.5.74-1,1.49-1.5,2.23-.28.41-.29.43,0,.82.42.58.22.52.86.3,1.74-.63,3.48-1.3,5.22-2,.92-.35,1.84-.72,2.79-1a1.92,1.92,0,0,1,2.34,1.13,15.91,15.91,0,0,1,.73,1.76c.08.24.19.24.37.17.43-.21.87-.41,1.29-.6,1.55-.68,3-1.49,4.62-2.14a13,13,0,0,1,2.58-.84,2.4,2.4,0,0,1,1.79.38A4.14,4.14,0,0,1,43,83.23a12.28,12.28,0,0,1,.73,1.27c.09.17.17.2.33.09.35-.24.71-.45,1.07-.7a22.64,22.64,0,0,1,4.19-2.39,10.54,10.54,0,0,1,2.5-.79,1.73,1.73,0,0,1,1.42.39,2.51,2.51,0,0,1,.86,1.35c.14.47.26.92.38,1.38l.13,0a.91.91,0,0,0,.26-.13,19.87,19.87,0,0,1,3.77-1.76,16,16,0,0,1,4.3-1.06,4.32,4.32,0,0,1,3.19,1c.51.44,1,.95,1.45,1.43a8.48,8.48,0,0,0,1.34,1.21c.28.19.29.2.5-.07a15.79,15.79,0,0,1,2-2.26,14.52,14.52,0,0,1,2.79-2,1.83,1.83,0,0,1,2.47.53,8.77,8.77,0,0,1,.64.95,11.56,11.56,0,0,0,1.42,1.84c.51.5.37.48.83,0a14.2,14.2,0,0,1,1.94-1.86,2.63,2.63,0,0,1,1.87-.71,1.31,1.31,0,0,1,1.07.75,3,3,0,0,1,.34,1c.08.39.19.8.28,1.26Zm3.86-11.59.28-.55a3.8,3.8,0,0,1,.46-.74.46.46,0,0,1,.64-.17.58.58,0,0,1,.26.71,2.18,2.18,0,0,1-.22.57c-.14.28-.29.54-.45.8.32.28.32.26.53,0s.24-.3.36-.45a.56.56,0,0,1,.71-.21.69.69,0,0,1,.16.82,3.66,3.66,0,0,1-.28.56,1.2,1.2,0,0,1-.16.27.36.36,0,0,0-.07.4,2.26,2.26,0,0,1,0,1.21,18,18,0,0,1-1.31,3.63,19.21,19.21,0,0,0-1,2.38,2.93,2.93,0,0,0-.18.88.5.5,0,0,0,.24.49.92.92,0,0,0,1.22-.4c.67-1.28,1.31-2.56,2-3.83a17.16,17.16,0,0,0,1.12-2.42,14,14,0,0,1,1.25-2.72.47.47,0,0,0,0-.56A13.38,13.38,0,0,0,93,71.07l-3.74-4.23-.49-.57a18.38,18.38,0,0,0-2.54,4.17,4,4,0,0,1,.53.35c.17.14.27.07.36-.11.19-.36.37-.71.57-1.06a.6.6,0,0,1,.85-.29.71.71,0,0,1,.26.92,5,5,0,0,1-.29.62c-.11.27-.46.56-.37.81s.49.38.8.59Zm-75,8.6.43.57c.22.36.22.65,0,.84s-.51.11-.76-.2a4.73,4.73,0,0,1-.28-.39.31.31,0,0,0-.3-.17,5.41,5.41,0,0,1-3-.62,21.74,21.74,0,0,0-2.29-1,2.93,2.93,0,0,0-1.21-.19,4.18,4.18,0,0,0,.94.7,1.56,1.56,0,0,1,.62.36,4.23,4.23,0,0,0,1.1.78,13.23,13.23,0,0,1,1.13.7,27.11,27.11,0,0,0,2.47,1.58,21.7,21.7,0,0,1,2.74,1.53.21.21,0,0,0,.33,0,.16.16,0,0,0,0-.07c.22-.35.45-.65.69-1a1,1,0,0,0,.13-.35,1,1,0,0,1,.55-.76.91.91,0,0,0,.34-.36l1.64-2.42c.2-.3.18-.3-.09-.5C18.09,79.15,17,78.37,16,77.57c-.09-.06-.17-.17-.31-.13s-.13.35-.2.54a3.59,3.59,0,0,0,.71.46,2,2,0,0,1,.62.54.61.61,0,0,1,0,.75.55.55,0,0,1-.68.16,2.13,2.13,0,0,1-.55-.41L15,78.94c-.29.47-.29.47.05.82.08.1.17.19.25.3a2.54,2.54,0,0,1,.44.54.54.54,0,0,1-.06.63.42.42,0,0,1-.53.1,1.57,1.57,0,0,1-.41-.32c-.19-.2-.36-.41-.56-.63a5,5,0,0,1-.31.49Zm-9.54,1.4a4,4,0,0,0,.24.71,7.2,7.2,0,0,1,.22,1.23c.06.31.07.33.34.22.48-.2,1-.41,1.49-.65-.44-.26-.84-.48-1.21-.71s-.69-.57-1.06-.81Z\",\n transform: \"translate(0 -0.4)\",\n fill: \"#0c0a0a\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100,84.57l0,0,0,0c0-1,0-1.91,0-2.88l0,0,0,0Z\",\n transform: \"translate(0 -0.4)\",\n fill: \"#8fcda1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.91.58,42,.51l.54,0H59.76a4.78,4.78,0,0,1,.54,0c0,1.15,0,2.31.09,3.44,0,.67.12,1.36.19,2,.12,1.12.27,2.22.37,3.34a40,40,0,0,0,.65,4.48c.27,1.32.56,2.63.81,3.95a34.16,34.16,0,0,0,1.17,4.5Q65.26,27,67,31.73c1.07,2.95,2.2,5.87,3.36,8.77A58.44,58.44,0,0,0,74,48.34,109.77,109.77,0,0,0,84,63.18c.22.28.22.28,0,.58a70.45,70.45,0,0,0-4.63,7.54,24.54,24.54,0,0,1-1.89-2,71.82,71.82,0,0,1-4.67-5.86c-2.06-3-4.09-6-6-9-1-1.61-1.8-3.3-2.65-5s-1.94-3.61-2.8-5.48a74.31,74.31,0,0,1-3.59-8.63,72.77,72.77,0,0,1-2.11-8.12C55.23,25,54.85,23,54.5,20.84a3.54,3.54,0,0,1,0-1.65,1.38,1.38,0,0,0-.77-1.7h0a.8.8,0,0,0-1,.21c-.07.09-.12.2-.19.3a.41.41,0,0,0-.44.18,4.51,4.51,0,0,0-.44.54c-.79,1.06-1.47,2.18-2.22,3.24a39.52,39.52,0,0,0-2.58,4.19C46,27.84,45,29.48,44,31.1a42.21,42.21,0,0,0-2.31,4c-.5,1-1,2-1.46,3-1,2-2,4-2.94,6q-2,4.5-4.09,9c-.61,1.36-1.24,2.72-2,4C30,59.53,28.65,61.77,27.34,64a74.65,74.65,0,0,0-3.94,7.59c-.36.82-.77,1.62-1.16,2.42-.16.35-.2.38-.49.15-1.23-.89-2.52-1.64-3.76-2.49a24.36,24.36,0,0,0-4.06-2.5c.46-1.54,1-3.07,1.57-4.58,1.19-3.26,2.55-6.44,3.88-9.64,2.32-5.57,4.6-11.15,6.75-16.8,1.39-3.68,3-7.3,4.51-10.91,1.61-3.78,3.08-7.62,4.66-11.4,1.1-2.6,2.26-5.17,3.38-7.76s2.13-5,3.23-7.54\",\n transform: \"translate(0 -0.4)\",\n fill: \"#fed469\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.11.55c1.08,0,2.16,0,3.25,0,0,.13,0,.26,0,.39,0,.77.08,1.51.12,2.27,0,1.14.18,2.26.34,3.39a69,69,0,0,0,1.36,7,57.35,57.35,0,0,0,2.23,6.83c1.7,4.34,3.31,8.74,4.91,13.11q1.89,5,4.25,9.79a74.47,74.47,0,0,0,4.47,8.14c1.61,2.51,3.27,5,5,7.4l.15.22a16.39,16.39,0,0,0-1.07,1.51c-.41.57-.79,1.17-1.21,1.71-.12,0-.17-.13-.24-.23-.65-.72-1.21-1.5-1.79-2.28-2-2.67-3.8-5.46-5.54-8.31A66.5,66.5,0,0,1,71.87,41c-1-2.46-1.93-4.9-2.88-7.35l-3.29-9q-.92-2.37-1.61-4.83c-.39-1.47-.64-3-1-4.45a36.46,36.46,0,0,1-.85-4.43c-.12-.95-.26-1.88-.38-2.81-.14-1.08-.24-2.16-.36-3.24-.08-.77-.17-1.53-.22-2.31s-.1-1.36-.17-2\",\n transform: \"translate(0 -0.4)\",\n fill: \"#fed469\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.11.55c0,.67.13,1.34.17,2s.13,1.53.22,2.31l.36,3.24c.11.94.23,1.88.37,2.81a44,44,0,0,0,.85,4.44c.36,1.46.65,3,1,4.45.47,1.63,1,3.24,1.62,4.82q1.64,4.5,3.29,9c.91,2.46,1.91,4.93,2.87,7.36a66.88,66.88,0,0,0,5.51,10.51c1.73,2.85,3.54,5.64,5.53,8.31.58.78,1.16,1.54,1.79,2.29a.72.72,0,0,0,.24.22c.43-.54.8-1.13,1.21-1.71a17.87,17.87,0,0,1,1.07-1.51,6.67,6.67,0,0,1,.67.91l-.07.06c-.66,1-1.31,2-2,2.94a.32.32,0,0,0,0,.41l.07.06a10.73,10.73,0,0,1,1,1.41A6.6,6.6,0,0,1,86.09,66a6.63,6.63,0,0,1-.7-1,4.56,4.56,0,0,0-.51-.65,1.55,1.55,0,0,0-.19.24c-.93,1.32-1.8,2.68-2.64,4.07-.66,1.14-1.34,2.28-1.93,3.45a5.26,5.26,0,0,1-.84-.86,74.33,74.33,0,0,1,4.64-7.54c.2-.27.2-.29,0-.57A111.36,111.36,0,0,1,74,48.31a59.62,59.62,0,0,1-3.68-7.84c-1.15-2.9-2.28-5.83-3.35-8.77-1.14-3.14-2.26-6.29-3.41-9.44a29.83,29.83,0,0,1-1.16-4.51c-.27-1.32-.56-2.62-.82-3.94a44.92,44.92,0,0,1-.64-4.49c-.1-1.12-.25-2.21-.37-3.33-.07-.67-.14-1.36-.19-2-.07-1.15-.12-2.31-.09-3.45a8.44,8.44,0,0,0,.87,0\",\n transform: \"translate(0 -0.4)\",\n fill: \"#a6c7da\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.51,24c-.38.83-.75,1.67-1.11,2.51s-.68,1.67-1,2.51c0,.13-.12.26-.19.41a.77.77,0,0,0-.15.36h0c-.09,0-.09.13-.09.21a.61.61,0,0,0-.22.44,1,1,0,0,0-.27.81,21,21,0,0,1-.82,2c-2,4.8-4.22,9.47-6.49,14.11-1.61,3.33-3.32,6.61-4.83,10-.94,2.11-1.86,4.22-2.79,6.29-.86,1.88-1.9,3.67-2.9,5.45a49.5,49.5,0,0,0-3.07,6.65,4.32,4.32,0,0,1-.19.45c-.66-.39-1.31-.78-2-1.12-.27-.13-.27-.15-.12-.43.57-1.09,1.07-2.21,1.59-3.35.42-.93.85-1.84,1.31-2.73,1.41-2.7,3-5.29,4.51-7.92A71,71,0,0,0,34,54.43c.85-1.94,1.75-3.82,2.58-5.75,1.81-4.16,3.85-8.18,5.8-12.24a46.74,46.74,0,0,1,2.43-4.39c.91-1.44,1.79-2.88,2.58-4.39.58-1.08,1.14-2.18,1.79-3.22a1,1,0,0,1,.36-.41\",\n transform: \"translate(0 -0.4)\",\n fill: \"#fed469\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.51,24a1,1,0,0,0-.33.39c-.64,1-1.21,2.14-1.79,3.22-.8,1.51-1.68,3-2.57,4.39a43.69,43.69,0,0,0-2.44,4.4c-2,4.06-4,8.08-5.8,12.23-.83,1.93-1.76,3.81-2.58,5.75a61.72,61.72,0,0,1-3.32,6.29c-1.51,2.63-3.08,5.24-4.51,7.91-.48.9-.91,1.81-1.32,2.74-.5,1.14-1,2.25-1.58,3.35-.14.29-.15.3.12.43.68.34,1.35.73,2,1.12a6,6,0,0,1-.41,1l-1.77-1c-.19-.09-.35-.35-.54-.26s-.22.37-.33.56A4.32,4.32,0,0,1,21,78.47s0,0,0,0a3.24,3.24,0,0,1-.64-.48,10.09,10.09,0,0,1,.34-1,3,3,0,0,1,.49-1,2.54,2.54,0,0,0,.36-.54.24.24,0,0,0-.08-.37c-.65-.43-1.25-.91-1.9-1.3-1-.62-1.93-1.25-2.86-1.94a15.45,15.45,0,0,0-3-1.86,4,4,0,0,1,.29-.91,23.66,23.66,0,0,1,4.06,2.49c1.24.86,2.53,1.62,3.76,2.5.29.2.32.2.49-.15.4-.8.8-1.6,1.16-2.42A74.8,74.8,0,0,1,27.4,64c1.31-2.27,2.65-4.51,3.92-6.81.71-1.31,1.33-2.67,2-4,1.37-3,2.73-6,4.09-9,.94-2,1.94-4,2.94-6,.49-1,1-2,1.46-3a46,46,0,0,1,2.32-4c1-1.61,2-3.26,2.88-5a38.69,38.69,0,0,1,2.57-4.18c.76-1.08,1.43-2.2,2.22-3.24a5.75,5.75,0,0,1,.44-.54.45.45,0,0,1,.44-.19,1.84,1.84,0,0,1-.36.93c-.91,1.66-1.8,3.31-2.62,5a1.15,1.15,0,0,1-.14.17\",\n transform: \"translate(0 -0.4)\",\n fill: \"#a6c7da\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.91,72.27c-.29-.21-.66-.36-.77-.6s.26-.54.38-.82.2-.39.29-.61a.72.72,0,0,0-.29-.92.61.61,0,0,0-.82.29c-.2.35-.39.7-.58,1-.08.18-.19.24-.36.11s-.35-.22-.53-.35a18.75,18.75,0,0,1,2.54-4.17l.5.58c1.24,1.4,2.48,2.81,3.73,4.21a12.8,12.8,0,0,1,1.41,1.84.45.45,0,0,1,0,.56,15.49,15.49,0,0,0-1.25,2.71,16.11,16.11,0,0,1-1.12,2.42c-.66,1.27-1.31,2.57-2,3.84a.92.92,0,0,1-1.22.39.46.46,0,0,1-.24-.48,2.39,2.39,0,0,1,.19-.88,20,20,0,0,1,1-2.38,18.5,18.5,0,0,0,1.31-3.63,2.26,2.26,0,0,0,0-1.21.38.38,0,0,1,.07-.41,1.24,1.24,0,0,0,.17-.27,3.51,3.51,0,0,0,.27-.55.71.71,0,0,0-.15-.82c-.2-.13-.46-.06-.72.2a3,3,0,0,0-.35.45c-.23.32-.23.32-.53,0,.15-.26.29-.54.44-.8a2.39,2.39,0,0,0,.22-.58.57.57,0,0,0-.25-.7.5.5,0,0,0-.65.17,4.2,4.2,0,0,0-.46.74c-.1.19-.2.38-.29.58\",\n transform: \"translate(0 -0.4)\",\n fill: \"#ed727a\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.9,80.87l.29-.43c.21.22.38.43.56.63a1.24,1.24,0,0,0,.41.32.44.44,0,0,0,.53-.09.57.57,0,0,0,.07-.64,2.31,2.31,0,0,0-.45-.54l-.25-.3c-.34-.35-.34-.35-.05-.81l.58.54a2.41,2.41,0,0,0,.54.41.55.55,0,0,0,.69-.17.63.63,0,0,0,0-.75,2.24,2.24,0,0,0-.61-.54,4.61,4.61,0,0,1-.72-.46c.07-.19.14-.38.21-.54s.22.07.32.13c1.06.78,2.11,1.56,3.17,2.36.29.21.29.22.08.51-.54.8-1.09,1.6-1.63,2.42a.87.87,0,0,1-.33.33,1,1,0,0,0-.54.76.93.93,0,0,1-.14.36c-.22.31-.46.65-.68,1a.22.22,0,0,1-.31.14l-.07,0a24.52,24.52,0,0,0-2.74-1.53c-.84-.48-1.67-1-2.47-1.58-.37-.24-.73-.49-1.12-.71a3.85,3.85,0,0,1-1.11-.78,1.75,1.75,0,0,0-.61-.37,3.58,3.58,0,0,1-.94-.71A3.83,3.83,0,0,1,7.75,80c.77.3,1.53.6,2.28,1a5.43,5.43,0,0,0,3,.61.27.27,0,0,1,.32.17c.08.13.19.28.27.39.26.32.55.39.77.21a.59.59,0,0,0,0-.84,2.45,2.45,0,0,0-.44-.6\",\n transform: \"translate(0 -0.4)\",\n fill: \"#ed727a\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.64,70.09a14.76,14.76,0,0,1,3,1.86c.93.7,1.89,1.32,2.86,1.94.64.41,1.26.89,1.89,1.3.15.09.19.2.08.35a2.44,2.44,0,0,1-.35.55,2.52,2.52,0,0,0-.49,1c-.14.32-.23.65-.35,1l-3-2.18a31.09,31.09,0,0,0-3.75-2.42,4.48,4.48,0,0,1-.64-.43.32.32,0,0,1-.12-.39c.29-.82.5-1.71.84-2.53\",\n transform: \"translate(0 -0.4)\",\n fill: \"#fed469\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.15,72.14c.62-1.18,1.29-2.31,1.94-3.45.83-1.41,1.7-2.75,2.64-4.08,0-.07.1-.12.18-.24.18.21.36.43.52.65a6.85,6.85,0,0,0,.7,1,1.18,1.18,0,0,1-.24.37A9.5,9.5,0,0,0,85,67.8a33.29,33.29,0,0,1-2.15,3.83A18.54,18.54,0,0,0,82,73.27a.83.83,0,0,1-.3.41c-.5-.52-1.06-1-1.54-1.54\",\n transform: \"translate(0 -0.4)\",\n fill: \"#fed469\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.92,78.54a.08.08,0,0,1,0,0,4.18,4.18,0,0,0,1.34-1.9c.1-.2.14-.48.33-.56s.37.15.54.27c.6.31,1.18.66,1.77,1-.39,1.14-.9,2.24-1.36,3.39-.89-.73-1.79-1.42-2.64-2.16\",\n transform: \"translate(0 -0.4)\",\n fill: \"#fed469\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.88,64.92a12.6,12.6,0,0,0-1-1.4.35.35,0,0,1,0-.44l0,0c.7-.95,1.36-2,2-2.94l.07-.06A18.52,18.52,0,0,1,89,61.58.25.25,0,0,1,89,62a2.42,2.42,0,0,0-.27.41.61.61,0,0,1-.37.32,1,1,0,0,0-.79.85,2.41,2.41,0,0,1-.5,1.1c-.09.06-.14.19-.23.27\",\n transform: \"translate(0 -0.4)\",\n fill: \"#fed469\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.36,82.26c.38.24.68.58,1.07.8l1.21.71c-.54.24-1,.46-1.48.65-.27.11-.3.09-.34-.22A7.2,7.2,0,0,0,4.6,83a2.48,2.48,0,0,1-.24-.71\",\n transform: \"translate(0 -0.4)\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.86,83.42a2.75,2.75,0,0,1,.22.26l.16.15a21.48,21.48,0,0,0,2,1.78,2.36,2.36,0,0,0,2.75.17l1.9-1.11a1,1,0,0,0,0-.1c0-1,0-1.91,0-2.88a.59.59,0,0,0-.38.14,27.83,27.83,0,0,0-2.42,1.51.64.64,0,0,1-.85,0c-.66-.51-1.29-1.12-2-1.61Zm-6.56-.26c-.42.18-.8.46-1.26.7-.1-.46-.2-.87-.25-1.28a3.29,3.29,0,0,0-.34-1,1.31,1.31,0,0,0-1.08-.74,2.61,2.61,0,0,0-1.87.7,15.4,15.4,0,0,0-1.93,1.86c-.46.51-.32.53-.84,0a11.08,11.08,0,0,1-1.41-1.84,8.85,8.85,0,0,0-.65-1,1.81,1.81,0,0,0-2.46-.52,13.78,13.78,0,0,0-2.8,2,16.43,16.43,0,0,0-2,2.25c-.2.28-.21.26-.49.07a9.51,9.51,0,0,1-1.35-1.2c-.47-.49-.93-1-1.44-1.44a4.29,4.29,0,0,0-3.19-1,15.8,15.8,0,0,0-4.31,1,21.42,21.42,0,0,0-3.76,1.76.91.91,0,0,1-.26.13.33.33,0,0,1-.13,0c-.12-.46-.24-.91-.38-1.37a2.52,2.52,0,0,0-.87-1.36,1.77,1.77,0,0,0-1.41-.39,10.56,10.56,0,0,0-2.5.8,21.73,21.73,0,0,0-4.19,2.38c-.36.26-.72.46-1.08.7-.15.11-.24.08-.32-.09A11.18,11.18,0,0,0,43,83.22,4.06,4.06,0,0,0,42,82.06a2.37,2.37,0,0,0-1.79-.37,11.89,11.89,0,0,0-2.57.84C36,83.18,34.53,84,33,84.67c-.43.18-.87.39-1.29.59-.19.08-.29.08-.37-.16a15.35,15.35,0,0,0-.74-1.77,1.93,1.93,0,0,0-2.33-1.13,26.35,26.35,0,0,0-2.79,1c-1.74.65-3.48,1.32-5.22,2-.64.23-.15.18-.58-.4l-1.85,1.67c.11.16.22.35.32.48a1.74,1.74,0,0,0,1.89.84,7.27,7.27,0,0,0,.8-.22l5.06-1.9,2.38-.92c.39-.14.41-.14.57.26s.22.6.32.9a7.42,7.42,0,0,0,.51,1.28,1.56,1.56,0,0,0,1.7.93,3.12,3.12,0,0,0,.8-.26c1.47-.65,3-1.32,4.4-2a18.24,18.24,0,0,1,3.58-1.41c.51-.13.54-.13.81.33s.62,1.12.94,1.68a2,2,0,0,0,2.41,1.1A6.21,6.21,0,0,0,45,87.2a11.54,11.54,0,0,0,1.75-1.12,16.89,16.89,0,0,1,4.43-2.36,2.11,2.11,0,0,1,.65-.19.8.8,0,0,1,.1.32c.15.72.29,1.45.49,2.15a1.48,1.48,0,0,0,1.89,1.06,1.11,1.11,0,0,0,.19-.09c.46-.26.9-.55,1.35-.81a19.23,19.23,0,0,1,7-2.65,2,2,0,0,1,1.87.61c.43.45.85.92,1.29,1.36a8.43,8.43,0,0,0,2.26,1.79,2,2,0,0,0,2.36-.11,2.74,2.74,0,0,0,.36-.32,11.42,11.42,0,0,0,1-1.21,12.38,12.38,0,0,1,2.9-2.7c.2-.13.29-.07.39.12s.32.52.49.78a9.06,9.06,0,0,0,2.22,2.43,2,2,0,0,0,2.86-.18c.48-.45.9-1,1.35-1.44a1.24,1.24,0,0,1,.44-.35,5.44,5.44,0,0,0,.46,1.32,1.95,1.95,0,0,0,2.66,1,21.34,21.34,0,0,0,1.93-1.06.64.64,0,0,0,.25-.24M4.17,82.17a1.09,1.09,0,0,0-1.1-.24l-.51.19A12.19,12.19,0,0,0,.37,83.36c-.09.06-.16.17-.29.13v2.37l.34-.26a16.74,16.74,0,0,1,2.29-1.55c.08,0,.16-.14.26-.07,0,.24.06.48.09.73a2,2,0,0,0,2.05,1.87h.11a3.84,3.84,0,0,0,1.23-.39A13.25,13.25,0,0,1,8,85.54a3.8,3.8,0,0,0,.8-.22l-2.2-1.46-1.35.58c-.27.12-.29.1-.32-.22A7.57,7.57,0,0,0,4.66,83a3.35,3.35,0,0,0-.54-.84Z\",\n transform: \"translate(0 -0.4)\",\n fill: \"#8fcda1\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgXpedition);\nexport default __webpack_public_path__ + \"static/media/xpedition.c501674e.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\n\r\nimport {ReactComponent as PencilImg} from 'assets/image/user-settings/pencil-ico.svg';\r\n\r\nimport './styles.scss';\r\n\r\nexport interface IAvatarProps {\r\n imgUrl?: string;\r\n imgText?: string\r\n editable?: boolean,\r\n handleClick?: () => void;\r\n}\r\n\r\nexport const Avatar = ({\r\n handleClick,\r\n editable = false,\r\n imgUrl,\r\n imgText\r\n}: IAvatarProps): JSX.Element => {\r\n return (\r\n <>\r\n {editable\r\n ? (
\r\n
\r\n {imgText}/\r\n
\r\n \r\n
)\r\n : (
\r\n \r\n
)\r\n }\r\n \r\n );\r\n};\r\n","import React, {useEffect, useState} from 'react';\r\n\r\nimport {\r\n getBotAvatars,\r\n getUserAvatars,\r\n updateUserProfileAction\r\n} from 'redux/auth/authAsyncActions';\r\nimport {SET_BOT_AVATARS, SET_USER_AVATARS} from 'redux/auth/actions';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {IStore} from 'redux/interface';\r\nimport {IAvatar} from 'redux/auth/interfaces';\r\n\r\nimport {Avatar} from 'components/avatar/Avatar';\r\nimport Loader from 'components/loader';\r\n\r\nimport UserIcon from 'assets/image/user-settings/user-ico.svg';\r\n\r\nimport './styles.scss';\r\n\r\ninterface IAvatarListProps {\r\n type: null | 'user' | 'bot';\r\n closeModal: (props: null) => void;\r\n}\r\n\r\nexport const AvatarList = ({\r\n type,\r\n closeModal\r\n}: IAvatarListProps): JSX.Element => {\r\n const {\r\n auth: {userAvatars, botAvatars, userProfile}\r\n } = useSelector((state: IStore) => state);\r\n\r\n const dispatch = useDispatch();\r\n const [avatarsList, setAvatarsList] = useState([]);\r\n\r\n useEffect(() => {\r\n dispatch(getUserAvatars());\r\n dispatch(getBotAvatars());\r\n }, []);\r\n\r\n useEffect(() => {\r\n let avatars: IAvatar[] = [];\r\n\r\n if (userAvatars) {\r\n avatars = [...userAvatars];\r\n }\r\n if (botAvatars) {\r\n avatars = [...avatars, ...botAvatars];\r\n }\r\n setAvatarsList(avatars);\r\n }, [userAvatars, botAvatars]);\r\n\r\n function handleChangeAvatar(fileId: number) {\r\n return () => {\r\n if (type === 'user' && userProfile) {\r\n dispatch(\r\n updateUserProfileAction({\r\n ...userProfile,\r\n userAvatarId: fileId\r\n })\r\n );\r\n\r\n closeModal(null);\r\n\r\n return;\r\n }\r\n if (type === 'bot' && userProfile) {\r\n dispatch(\r\n updateUserProfileAction({\r\n ...userProfile,\r\n dialogAvatarId: fileId\r\n })\r\n );\r\n\r\n closeModal(null);\r\n\r\n return;\r\n }\r\n console.log('default click action');\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n {avatarsList.length && avatarsList.filter(item => item.fileUrl).length === avatarsList.length\r\n ?
\r\n {avatarsList.map((item, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n : \r\n }\r\n \r\n );\r\n};\r\n","import React, {useRef, useState} from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport PhoneInput, {isValidPhoneNumber} from 'react-phone-number-input';\r\nimport cn from 'classnames';\r\n\r\nimport 'react-phone-number-input/style.css';\r\nimport './styles.scss';\r\n\r\ninterface IInputPhoneProps {\r\n labelClassName: string,\r\n userPhoneNumber: string,\r\n onChange: (value: string) => void,\r\n}\r\n\r\nexport const InputPhone = (\r\n {\r\n labelClassName,\r\n userPhoneNumber,\r\n onChange\r\n }: IInputPhoneProps\r\n): JSX.Element => {\r\n const [showErrorMessage, setShowErrorMessage] = useState(false);\r\n const [phoneValue, setPhoneValue] = useState(userPhoneNumber || '');\r\n\r\n const ref = useRef(null);\r\n const input = ref.current as HTMLInputElement | null;\r\n\r\n function handleChangeValue(value: string) {\r\n if (!value && !input?.value) {\r\n onChange('');\r\n setPhoneValue('');\r\n }\r\n if (value && input?.value && isValidPhoneNumber(value)) {\r\n setPhoneValue(value);\r\n onChange(value);\r\n } else {\r\n onChange(input?.value || '');\r\n setPhoneValue(value);\r\n }\r\n }\r\n\r\n function showValidateMessage() {\r\n if (phoneValue && !isValidPhoneNumber(phoneValue)) {\r\n setShowErrorMessage(true);\r\n }\r\n if (!phoneValue && input?.value) {\r\n setShowErrorMessage(true);\r\n }\r\n }\r\n\r\n function hideValidateMessage() {\r\n setShowErrorMessage(false);\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {showErrorMessage && (\r\n \r\n )\r\n }\r\n
\r\n
\r\n );\r\n};\r\n","import React, {useEffect, useState} from 'react';\r\nimport {FormattedMessage, useIntl} from 'react-intl';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport {Avatar} from 'components/avatar/Avatar';\r\nimport {ButtonVariant} from 'components/gritx-button/ButtonVariantEnum';\r\nimport {GritxButton} from 'components/gritx-button/GritxButton';\r\nimport {Input} from 'components/input/Input';\r\nimport {ModalWindow} from 'components/modal-window/ModalWindow';\r\nimport {AvatarList} from 'components/avatar-list/AvatarsList';\r\nimport {InputPhone} from 'components/input-phone/InputPhone';\r\nimport {isValidPhoneNumber} from 'react-phone-number-input';\r\n\r\nimport {IUserProfile} from 'redux/auth/interfaces';\r\nimport {IStore} from 'redux/interface';\r\nimport {logoutAction, updateUserProfileAction} from 'redux/auth/authAsyncActions';\r\nimport {changeLocale} from 'redux/translation/translationAsyncActions';\r\nimport {libClearSelectedFiltersAction} from 'redux/content/actions';\r\n\r\nimport {isValidEmail} from 'utils/helpers/validators';\r\nimport {languages} from 'utils/constants/constants';\r\nimport {useLoadFile} from 'utils/hooks/useLoadFile';\r\nimport {useChatBot} from 'utils/hooks/use-chat-bot/useChatBot';\r\nimport {BotType} from 'utils/hooks/use-chat-bot/interfaces';\r\n\r\nimport UserIcon from 'assets/image/user-settings/userDefaultAvatar.png';\r\nimport BotIcon from 'assets/image/user-settings/BotDefaultAvatar.png';\r\nimport {NavLink} from 'react-router-dom';\r\n\r\nexport const SettingsForm = (): JSX.Element => {\r\n const {auth: {userProfile} } = useSelector((state: IStore) => state);\r\n\r\n const dispatch = useDispatch();\r\n const intl = useIntl();\r\n const {\r\n getFileUrl\r\n } = useLoadFile();\r\n\r\n const {\r\n dialogMethods: {setDialogLanguage}\r\n } = useChatBot(BotType.Chat);\r\n const [firstName, setFirstName] = useState(userProfile?.firstName);\r\n const [lastName, setLastName] = useState(userProfile?.lastName);\r\n const [email, setEmail] = useState(userProfile?.email);\r\n const [phone, setPhone] = useState(userProfile?.phone || '');\r\n const [modalAvatarsFlag, setModalAvatarsFlag] = useState(null);\r\n const [isRequiredEmail, setIsRequiredEmail] = useState(false);\r\n const [isChangeForm, setIsChangeForm] = useState(false);\r\n\r\n useEffect(() => {\r\n if (userProfile?.email) {\r\n setIsRequiredEmail(true);\r\n }\r\n }, [userProfile?.email]);\r\n\r\n function handleChangeFirstName(value: string) {\r\n setFirstName(value);\r\n setIsChangeForm(true);\r\n }\r\n\r\n function handleChangeLastName(value: string) {\r\n setLastName(value);\r\n setIsChangeForm(true);\r\n }\r\n\r\n function handleChangeEmail(value: string) {\r\n setEmail(value);\r\n setIsChangeForm(true);\r\n }\r\n\r\n function handleChangePhone(value: string) {\r\n const newPhone = value || '';\r\n\r\n setPhone(value);\r\n if (newPhone !== userProfile?.phone) {\r\n setIsChangeForm(true);\r\n }\r\n }\r\n\r\n const getValidFormStatus = (): boolean => {\r\n const getValidEmailValue = email && isValidEmail(email);\r\n const getValidPhoneValue = !phone || isValidPhoneNumber(phone);\r\n\r\n return !isChangeForm || firstName?.trim() === '' || lastName?.trim() === '' || !getValidEmailValue || !getValidPhoneValue;\r\n };\r\n\r\n function handleChangeLang(lang: string) {\r\n return async () => {\r\n setDialogLanguage(lang);\r\n dispatch(changeLocale(lang));\r\n dispatch(libClearSelectedFiltersAction());\r\n dispatch(updateUserProfileAction({\r\n ...userProfile,\r\n language: lang\r\n } as IUserProfile));\r\n };\r\n }\r\n\r\n function handleSave() {\r\n setFirstName(firstName?.trim());\r\n setLastName(lastName?.trim());\r\n\r\n dispatch(updateUserProfileAction({\r\n ...userProfile,\r\n firstName: firstName?.trim(),\r\n lastName: lastName?.trim(),\r\n email: email,\r\n phone: phone || ''\r\n } as IUserProfile));\r\n\r\n setIsChangeForm(false);\r\n }\r\n\r\n function handleSignOut() {\r\n dispatch(logoutAction());\r\n }\r\n\r\n function handleCloseModal() {\r\n setModalAvatarsFlag(null);\r\n }\r\n\r\n function openModal(type: 'user' | 'bot') {\r\n return () => setModalAvatarsFlag(type);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n languages.map((item, index) => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/settings-img.0778f287.png\";","import {UserSettings} from './UserSettings';\r\nexport default UserSettings;\r\n","import React from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport {SettingsForm} from './SettingsForm';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {useSelector} from 'react-redux';\r\nimport {SET_USER_DATA} from 'redux/auth/actions';\r\nimport {getTranslations} from 'redux/pageAsyncActions';\r\n\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\n\r\nimport Loader from 'components/loader';\r\nimport SettingImg from 'assets/image/user-settings/settings-img.png';\r\n\r\nimport './styles.scss';\r\n\r\nexport const UserSettings = (): JSX.Element => {\r\n const {\r\n auth: {\r\n userProfile\r\n },\r\n status: {\r\n loading\r\n }\r\n } = useSelector((state: IStore) => state);\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Settings\r\n });\r\n\r\n return (\r\n
\r\n\r\n {\r\n !loading.includes(getTranslations) && <>\r\n
\r\n \"Settings\"/\r\n

\r\n \r\n

\r\n
\r\n
\r\n {\r\n loading.includes(SET_USER_DATA) || !userProfile\r\n ? \r\n : \r\n }\r\n \r\n }\r\n
\r\n );\r\n};\r\n","import {Xpedition} from './Xpedition';\r\nexport default Xpedition;\r\n","import React, {useEffect} from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {getTranslations} from 'redux/pageAsyncActions';\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {BotType} from 'utils/hooks/use-chat-bot/interfaces';\r\nimport {TranslationKeys} from 'utils/constants/routeConstants';\r\n\r\nimport BotChat from 'components/bot-chat';\r\n\r\nimport {closeArticle} from 'redux/content/actions';\r\nimport {ReactComponent as XpeditionIcon} from 'assets/image/menu-auth/xpedition.svg';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Xpedition: React.FunctionComponent = () => {\r\n const {\r\n status: {loading}\r\n } = useSelector((state: IStore) => state);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(closeArticle());\r\n }, []);\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Chat\r\n });\r\n\r\n return
\r\n {\r\n !loading.includes(getTranslations) && <>\r\n

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

\r\n \r\n \r\n }\r\n
;\r\n};\r\n","import {Logout} from './Logout';\r\n\r\nexport default Logout;\r\n","import React, {useEffect} from 'react';\r\nimport {useDispatch} from 'react-redux';\r\nimport {logoutAction} from 'redux/auth/authAsyncActions';\r\nimport Loader from 'components/loader';\r\n\r\nimport './styles.scss';\r\n\r\nexport const Logout = (): JSX.Element => {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(logoutAction());\r\n }, []);\r\n\r\n return
\r\n
\r\n \r\n
\r\n
;\r\n};\r\n","import React from 'react';\r\nimport {FormattedMessage} from 'react-intl';\r\n\r\nimport Apple from 'assets/image/social-mobile/apple.svg';\r\nimport QRApple from 'assets/image/social-mobile/qr-apple.svg';\r\nimport AppStore from 'assets/image/social-mobile/AppStore.svg';\r\nimport Google from 'assets/image/social-mobile/android.svg';\r\nimport QRGoogle from 'assets/image/social-mobile/qr-google.svg';\r\nimport GoogleApp from 'assets/image/connect-line/downloadViaGooglePlay.svg';\r\n\r\nimport {appStoreUrl, googlePlayUrl, intIosAccess} from 'utils/constants/constants';\r\n\r\nimport './styles.scss';\r\n\r\nexport const MobileView = (): JSX.Element => {\r\n return
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
;\r\n};\r\n","import React, {useEffect, ReactElement, useState} from 'react';\r\nimport {IntlProvider} from 'react-intl';\r\nimport {Switch, Route, Redirect, RouteProps, useLocation} from 'react-router-dom';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\nimport {Helmet} from 'react-helmet';\r\n\r\nimport {IStore} from 'redux/interface';\r\nimport {getAuthorizationAction} from 'redux/auth/authAsyncActions';\r\nimport {changeLocale} from 'redux/translation/translationAsyncActions';\r\nimport {firstAuthorizedRoute, Routes, routeTranslationKeys, TranslationKeys} from 'utils/constants/routeConstants';\r\nimport {useGetTranslations} from 'utils/hooks/useGetTranslations';\r\nimport {SystemLanguage} from 'utils/constants/constants';\r\n\r\nimport Backpack from 'pages/backpack';\r\nimport Callback from 'pages/callback';\r\nimport Chat from 'pages/chat';\r\nimport Content from 'pages/content';\r\nimport Error from 'pages/error';\r\nimport Home from 'pages/home';\r\nimport Layout from 'components/layout';\r\nimport Library from 'pages/library';\r\nimport Materials from 'pages/materials';\r\nimport UserSettings from 'pages/user-settings';\r\nimport Xpedition from 'pages/xpedition';\r\nimport Logout from 'pages/logout';\r\nimport {MobileView} from 'components/mobile-view/MobileView';\r\nimport {Bounce, ToastContainer} from 'react-toastify';\r\n\r\nconst PrivateRoute: React.FunctionComponent = (\r\n {\r\n children,\r\n ...rest\r\n }\r\n) => {\r\n const {auth0User} = useSelector((state: IStore) => state.auth);\r\n\r\n return (\r\n {\r\n return auth0User\r\n ? ({children as ReactElement})\r\n : (\r\n \r\n );\r\n }\r\n }\r\n />\r\n );\r\n};\r\n\r\nconst App: React.FunctionComponent = () => {\r\n const {\r\n translation: {\r\n locale,\r\n translations\r\n },\r\n auth: {\r\n userProfile\r\n }\r\n } = useSelector((state: IStore) => state);\r\n\r\n const dispatch = useDispatch();\r\n const {pathname} = useLocation();\r\n const [isMobileView, setIsMobileView] = useState(false);\r\n\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Common\r\n });\r\n useGetTranslations({\r\n translationKey: TranslationKeys.Toasts\r\n });\r\n useGetTranslations({\r\n translationKey: routeTranslationKeys[firstAuthorizedRoute]\r\n });\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n if ('scrollRestoration' in history) {\r\n history.scrollRestoration = 'manual';\r\n }\r\n }, [pathname]);\r\n\r\n useEffect(() => {\r\n if (userProfile && userProfile.language !== SystemLanguage.English) {\r\n dispatch(changeLocale(userProfile.language));\r\n }\r\n }, [userProfile, userProfile?.language]);\r\n\r\n useEffect(() => {\r\n if (/Android|webOS|iPhone|iPad|iPod|Mac|Macintosh|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\r\n setIsMobileView(true);\r\n }\r\n if (/Mac|Macintosh/i.test(navigator.userAgent) && navigator.maxTouchPoints === 0) { // macbooks\r\n setIsMobileView(false);\r\n }\r\n dispatch(getAuthorizationAction());\r\n }, []);\r\n\r\n return (\r\n console.log('IntlError', e)}>\r\n \r\n \r\n \r\n \r\n {\r\n isMobileView\r\n ? \r\n : \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport {Provider} from 'react-redux';\r\nimport {BrowserRouter} from 'react-router-dom';\r\n\r\nimport reportWebVitals from './reportWebVitals';\r\n\r\nimport store from './redux/store';\r\n\r\nimport App from './pages/app/App';\r\n\r\nimport 'components/theme/normalize.scss';\r\nimport 'components/theme/typography.scss';\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}